Method 1: Set encoding uniformity
1. Set the eclipse environment encoding(recommended :java video tutorial)
2. Set the mysql environment encoding
mydb as the database that needs to be modified Name
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 thejava basic tutorialcolumn.
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!