情景描述:当我在写测试的时候,后台用java写入mysql的数据出现编码错误。查询的时候,查询数据库中的有关中文数据,显示为null。
分析:是编码问题。
解决方法:
1
show variable like "char%"; 可以看到数据库客户服务端的编码。
set character_set_client= utf8;设置编码为utf-8
net stop mysql (不写分号) net start mysql 重启Mysql
发现编码又变回以前了。 很显然这种方法不对。
2
后者说是改my.ini文件,原来这个文件藏mysql/current里面。在[mysqld] 中添加default-character-set=uft8。这么一搞重启mysql都不行。
(服务无法启动,服务没有报告任何错误。 这是什么错误!)
这个好像也不行。
上面两种都不行,原因是我的mysql版本是5.5的
依然是添加或修改my.ini文件
3
重启Mysql (net stop mysql / net start mysql) 就好了。