问题描述:使用sqlyog工具查询表中数据,中文则显示为乱码。
首先确认在ecplise项目与mysql数据库都是UTF-8字符集。
解决过程:
在my.ini文件中新增default-character-set=UTF8,重启mysql服务器启动失败。查原因,说是这个参数是5.1之前版本会取这个参数。5.5版本后,参数名称变化了。
当前mysql版本为5.6。再次修改为character-set-server=utf8,重新启动服务。服务启动成功。
再次查看,中文仍显示为乱码。
后在ecplise项目中,重新向表中生成数据。新生成的数据,在sqlyog中查询中文显示正常,而原来乱码的数据仍显示乱码。
看到网上有说“MySQL要支持完整的中文字符集,应该设置为GBK编码。”,将utf8修改为GBK后,重新生成的数据,中文也显示正常。
难道是数据库中一定要有这个character-set-server?将配置文件中此参数值注释掉后,重新插入数据,测试发现中文又显示为乱码了。
时间: 2024-11-05 06:37:43