此博客仅作为自己学习java时,遇到的一些问题及解决方法的记录。作为日后复习时查看。可以提意见,但不要喷。谢谢理解!
在使用eclipse做java项目时,需要将中文导入数据库或者从数据库导出中文到java项目界面。进行导入导出操作后,总是中文乱码,原来的中文变成了??。经过确认,是因为mysql5.7默认的编码方式非UTF8.因此,需要将编码方式改为UTF8.
在百度上查找了很多改进方法。都不管用。主要修改意见包括:
1、修改eclipse端编码规则为UTF8.(右键项目,选择属性,选择编码方式);
2、java数据库连接代码追加编码语句。由原来的:con=DriverManager.getConnection("jdbc:mysql://localhost:3306/fangcuo", "root", "66197778")改为:con=DriverManager.getConnection("jdbc:mysql://localhost:3306/fangcuoliao?useUnicode=true&characterEncoding=utf8", "root", "66197778");
其中,fangcuo是数据库名。
3、修改mysql内my.inip配置文件。
3.1
[client]下的:
# default-character-set=utf8(红色字体为修改后);
3.2
[mysql]下的:
# default-character-set=utf8
3.3
[mysqld]
# character-set-server=utf8
以上操作在完成后。进入mysql5.7 命令界面。输入:show variables like 'character%' 查看全局编码格式均没有任何变化效果。
经过多次排查原因。原来是因为my.ini配置文件里的 # default-character-set=utf8 这个代码里前面的#要去除。如果不去除的话,会将后面的文字表示成描述文字,而系统不能读取(自己理解)。将原配置文件前默认的#去除后。再次确认编码格式。全部正常。且可以正常读取、写入中文了。
以此记录走过的弯路。