SQLyog中文乱码的解决方法
初始情况:
· 我使用的是SQLyog Enterprise v8.18。
· Eclipse使用的文本编码是默认设置GBK;
· 而服务器安装的MySQL: mysql-essential-5.1.47-win32.msi,指定的字符编码为utf8。
当我用SQLyog查看我的JPA项目生成的数据表及数据时,发现中文数据显示为乱码。
第一判断:
Eclipse的文本编码与MySQL数据库字符编码不一致导致。
修改Eclipse设置,Window->Preferences->General->Workspace,
找到Text file encoding,选择Other,修改为UTF-8。
此时,需要把项目中所有用到中文的程序,把文字调整为正确的编码。然后删除数据库表及数据,执行JPA项目,重新生成表及数据。
结果,用SQLyog查看数据表,仍然显示乱码。
上网搜索,解决方法:
· 在SQLyog下输入下面代码,全部执行
SET character_set_client = utf8;
SET character_set_results = gb2312;
SET character_set_connection = utf8;
· 在SQLyog的菜单Tools->Preference Base->Editor 修改Fonts
结果,用SQLyog查看数据表,仍然显示乱码。网上的方法不可行!
第三判断:
MySQL要支持完整的中文字符集,应该设置为GBK编码。
找到MySQL安装目录的my.ini,修改utf8为gbk,如下:
default-character-set=gbk
共两处需要修改。
重启MySQL服务。
结果,用SQLyog查看数据表,显示正常。
特此记录!