Toad for mysql乱码解决办法

换了工作要从原来的Oracle数据库转到用Mysql上来
安装了mysql 5.0 用mysql-front管理,觉得太蛋疼,就安装了Toad for mysql,谁知出现中文乱码,网上查了好久没找到解决办法。说新建系统变量 NLS_LANG 为 AMERICAN_AMERICA.ZHS16GBK 的这个办法根本不管用。试了半天,发现这个方法管用。
在toad for mysql新建一个editor(pl/sql的查询语句和命令语句是要新建不同的窗口的,没想到toad for mysql是不用的 直接一个editor窗口搞定)。输入
SHOW VARIABLES LIKE 'character_set_%';
SHOW VARIABLES LIKE 'collation_%';
+--------------------------+---------------------------------+
| Variable_name            | Value                           |
+--------------------------+---------------------------------+
| character_set_client     | latin1                          |
| character_set_connection | latin1                          |
| character_set_database   | latin1                          |
| character_set_filesystem | binary                          |
| character_set_results    | latin1                          |
| character_set_server     | latin1                          |
| character_set_system     | utf8                            |
| character_sets_dir       | D:""share"charsets" |
+--------------------------+---------------------------------+
而MySQL字符集默认使用latin1,collation则使用latin1_swedish_ci。乱码是必然了
而Toad读取MySQL的character_set_system或者character-set-server设置决定Toad本地字符集。
重设MySQL默认字符集,查看官方文档后,设置如下:
在my.ini配置文件中增加如下2条设置
[mysqld]
character-set-server = utf8
character-set-filesystem = utf8
注意:5.1版后已经不支持 default-character-set=utf8 这样的配置语句了。

配置完之后不用重启系统,把Mysql的服务重启一下就行了。具体操作打开windows的服务界面,找到mysql这个服务,点重启动服务。
运行Toad。
查看variables,注意到都变成utf8了。



 
导入数据,正常。
输入数据,正常。
ok啦!

猜你喜欢

转载自unclerayray.iteye.com/blog/1576807