Home >Java >JavaBase >Solution to garbled data inserted into mysql using java

Solution to garbled data inserted into mysql using java

尚
Original
2019-11-30 11:15:262335browse

Solution to garbled data inserted into mysql using java

Method 1: Set encoding uniformity

1. Set the eclipse environment encoding (recommended : java video tutorial)

Solution to garbled data inserted into mysql using java

2. Set the mysql environment encoding

mydb as the database that needs to be modified Name

Solution to garbled data inserted into mysql using java

Method 2: Set the encoding when creating the database

1. Set the encoding when mysql creates the database

create database mydb default character set utf8 collate utf8_general_ci;

2. Set the encoding when creating the table

CREATE TABLE `type` ( 
`id` int(10) unsigned NOT NULL auto_increment, 
`flag_deleted` enum('Y','N') character set utf8 NOT NULL default 'N', 
`flag_type` int(5) NOT NULL default '0', 
`type_name` varchar(50) character set utf8 NOT NULL default '', 
PRIMARY KEY (`id`) 
)  DEFAULT CHARSET=utf8;

Method 3: Set when connecting to the database

Add ?useUnicode=true&characterEncoding=UTF-8

public class TestJdbc {
    private static String URL = "jdbc:mysql://localhost:3306/studentmanage?useUnicode=true&characterEncoding=UTF-8";
    useUnicode=true&characterEncoding=UTF-8
    private static String USER = "root";
    private static String PASSWORD = "root";

    public static void main(String[] args) {
        Connection con = null;

        String sql = "insert into user(uid,uname,password) values(?,?,?)";
        try {
            Class.forName("com.mysql.jdbc.Driver");
            con = DriverManager.getConnection(URL, USER, PASSWORD);
            con.close();
        } catch (Exception e) {
            e.printStackTrace();
        } 
    }

after the URL. The function of adding is to specify the encoding and decoding format of characters.

For example: the mysql database uses gbk encoding, while the project database uses utf-8 encoding. If useUnicode=true&characterEncoding=UTF-8 is added at this time, the effect has the following two aspects:

When storing data:

The database will first use UTF-8 when storing project data The format decodes the data into bytecode, and then reuses the decoded bytecode to store it in the database using GBK encoding.

When retrieving data:

When retrieving data from the database, the database will first decode the data in the database into bytecodes in GBK format, and then convert the decoded bytes The code re-encodes the data in UTF-8 format and finally returns the data to the client.

For more java knowledge, please pay attention to the java basic tutorial column.

The above is the detailed content of Solution to garbled data inserted into mysql using java. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn