navicat for mysql插入中文乱码

如题,用navicat里的命令行执行insert语句后中文显示乱码,而用windows dos窗口执行insert 语句时则正常显示。首先肯定我在navicat中建立数据库时编码选的就是utf-8。java

网上查了不少,方法有:mysql

1)修改mysql的安装目录bin下的my.ini文件,确保character_set_server = utf8和default-character-set = utf8;单纯的这么设,对我来讲无效;sql

2)仍然是修改my.ini文件,已经有的条目如character_set_server就修改其值为utf8,没有的则按照下面的加上,分别是:数据库

--在 [mysqld] 标签下加上二行
    default-character-set = utf8
    character_set_server = utf8
--在 [mysql]  标签下加上一行
windows

    default-character-set = utf8eclipse

--在 [mysql.server]标签下加上一行
    default-character-set = utf8编码

--在 [client]标签下加上一行
spa

    default-character-set = utf8命令行

这样设置后,对我依然无效;orm

3)右键出现乱码的链接--》链接属性--》高级,将使用Mysql字符集前的勾去掉,以下:

    

不过设置后,对我依然无效;

4)在第 3)步的基础上,将编码由65001(utf-8)改成Current Windows Codepage,以下:

    

至此,个人问题终于结果。如今不管是navicat的命令行插入仍是windows dos界面插入中文,都正常显示。

附:有时会出现这样一种状况,用navicat插入数据库以及从数据库中取出中文都正常显示,但用java从数据库中取出时则显示乱码,eclipse及database都是使用的utf-8,这时要将“使用Mysql字符集”勾选,从新插入数据库,保证中文正常显示,这样用java从数据库取出的中文也是正常显示的。

相关文章
相关标签/搜索