今天下午,在Qt中往mysql数据库中插入数据时,中文显示乱码,如下图所示:
开始以为是数据库字符编码的问题。
[1]使用set character_set_database=utf8 在命令行上修改字符编码,
但是重启mysql之后,字符编码并没有修改成功。
[2]于是找到MySQL的安装路径C:\Program Files\MySQL\MySQL Server 5.5下
打开my.ini,直接修改配置文件的字符编码为utf8,如图:
然后打开任务管理器,打开服务,找到
重新启动。在mysql命令行输入:show variables like '%char%'; 查看字符编码是否已经修改成功。
[3]最重要的一步:删除之前建立的数据库,或者在命令行修改原来数据库的字符编码
如果再在原来的数据库上建表,会让你怀疑人生。明明改了,在图形界面上怎么还是显示乱码。
[4]然后建表,插入中文,神奇的地方出现了,myql那个黑乎乎的窗口下,显示的中文还是乱码!!
原因估计是因为windows窗口默认的字符编码是gbk,而mysql是utf8,
[5]再次打开图形界面 连接mysql。
然后在图形界面上打开数据表,中文不乱码,正常显示。