解决MySQL中文乱码

identity(1, 1)是sqlserver的写法 mysql写法是auto_increment


Mysql 的默认编码是Latin1

进入mysql客户端 键入命令:show variables like”%char%”; 查看编码方式
1. +--------------------------+--------------------------+ 
2. | Variable_name                       | Value                                       | 
3. +--------------------------+--------------------------+ 
4. | character_set_client         | latin1                                     | 
5. | character_set_connection | latin1                                     | 
6. | character_set_database     | latin1                                     | 
7. | character_set_filesystem | binary                                     | 
8. | character_set_results       | latin1                                     | 
9. | character_set_server         | latin1                                     | 
10. | character_set_system         | utf8                                         | 
11. | character_sets_dir             | D:\MySQL\share\charsets\ | 
12. +--------------------------+--------------------------+ 
解决方案:
编辑my.ini(MySQL配置文件)文件对编码进行修改
找到【mysqld】行 改变编码方式为:default-character-set=utf8
在CMD模式下用net stop mysql命令和net start mysql命令 关闭和开启mysql服务
进入mysql客户端 键入命令:show variables like”%char%”; 查看编码方式
1. +--------------------------+--------------------------+ 
2. | Variable_name                       | Value                                       | 
3. +--------------------------+--------------------------+ 
4. | character_set_client         | latin1                                     | 
5. | character_set_connection | latin1                                     | 
6. | character_set_database     | utf8                                         | 
7. | character_set_filesystem | binary                                     | 
8. | character_set_results       | latin1                                     | 
9. | character_set_server         | utf8                                         | 
10. | character_set_system         | utf8                                         | 
11. | character_sets_dir             | D:\MySQL\share\charsets\ | 
12. +--------------------------+--------------------------+ 
此时java程序读取数据库的内容时能正常显示中文但是在控制台下查询仍是乱码
因为控制台采用的编码方式是gb2312 所以需要改变客户端编码方式。
再次编辑my.ini文件
找到【mysql】行 改变编码方式为:default-character-set=gb2312
在CMD模式下用net stop mysql命令和net start mysql命令 关闭和开启mysql服务
进入mysql客户端 键入命令:show variables like”%char%”; 查看编码方式
1. +--------------------------+--------------------------+ 
2. | Variable_name                       | Value                                       | 
3. +--------------------------+--------------------------+ 
4. | character_set_client         | gb2312                                     | 
5. | character_set_connection | gb2312                                     | 
6. | character_set_database     | utf8                                         | 
7. | character_set_filesystem | binary                                     | 
8. | character_et_results         | gb2312                                     | 
9. | character_set_server         | utf8                                         | 
10. | character_set_system         | utf8                                         | 
11. | character_sets_dir             | D:\MySQL\share\charsets\ | 
12. +--------------------------+--------------------------+ 
到此mysql数据库中文乱码解决完毕 需要注意的是my.ini文件的【mysqld】的编码方式也可以为其他支持中文的编码方式。

你可能感兴趣的:(解决MySQL中文乱码)