通过第三方工具连接数据库,表中的中文显示为乱码,但是通过 MySQL 的命令行工具却没有问题。
字符集相关变量设置:
- > SHOW VARIABLES LIKE '%character%';
- Variable_name Value
- ------------------------ ----------------------------
- character_set_client utf8
- character_set_connection utf8
- character_set_database latin1
- character_set_filesystem binary
- character_set_results utf8
- character_set_server latin1
- character_set_system utf8
- character_sets_dir d:\www\MySQL\share\charsets\
数据库创建信息:
- > SHOW CREATE DATABASE db2011;
- Database Create Database
- -------- -------------------------------------------------------------------
- db2011 CREATE DATABASE `db2011` /*!40100 DEFAULT CHARACTER SET latin1 */
数据库使用的是默认的 latin1 编码。
解决方法很简单,重新下载一个低版本的客户端工具就 OK 了。我下载的是 SQLYog 5.02 也是网上推荐的。
个人估计问题有两个方面:一方面可能就是数据库设置的编码,另一方面主要问题还是客户端工具,估计高版本的软件是否在显示前设置了编码,才导致显示乱码。
所以建议大家创建数据库尽量指定编码为 GBK 或 UTF8
原文链接:http://ezerg.iteye.com/blog/1093080
【编辑推荐】