最近遇到一个问题,用navicat for mysql 打开数据库时全都显示的是乱码(在用程序代码插入数据之前确保字符不是乱码),遇到问题就的寻求解决之道,百度了好长时间也没解决,网上那些解决办法都不适合我的问题,网上的大多数解决方法是在navicat里右击一个连接,选择连接属性,切换到高级选项卡,去掉“使用mysql字符集”前的对勾,在编码里选择utf-8,这种方法对于部分问题可能适合,但是我的乱码问题依然存在,于是乎我又将utf-8改称gbk,gb2312,全都过问题依然粹依旧。 后来跟一个编程的老程序员请教了一下,他说可能是mysql的配置文件有问题,就是在mysql 的安装目录下的my.ini文件里的默认编码有问题,将my.ini文件的这两处的默认编码==========================================[mysql]default-character-set=utf8 <------==========================================[mysqld]# The TCP/IP Port the MySQL Server will listen onport=3306#Path to installation directory. All paths are usually resolved relative to this.basedir="C:/Program Files/MySQL/MySQL Server 5.0/"#Path to the database rootdatadir="C:/Program Files/MySQL/MySQL Server 5.0/Data/"# The default character set that will be used when a new schema or table is# created and no character set is defineddefault-character-set=utf8 <------===========================================箭头所指的地方确保为utf8(注意不是utf-8),navicat 里的使用的是mysql字符集(此时不用再选择utf-8编码), 问题才得以解决!我熟悉的中文字符又回来了!哪位朋友要使遇到同样的问题,希望能帮帮上忙。