我在用eclipse、mysql、navicat编写一个程序,现在三者的编码统一不了,要么是在masql命令行和navicat中能正常显示,而eclipse中运行程序出现乱码,要么干脆三个中有两个不能正常显示。下面贴出我的一些系统设置,这个是在参考论坛上的一些方法后修改过的,只是还是不行。
在navicat的console窗口中运行show variables like 'char%';命令后的结果:
mysql> show variables like 'char%';
+--------------------------+-------------------------------------+
| Variable_name            | Value                               |
+--------------------------+-------------------------------------+
| character_set_client     | latin1                              |
| character_set_connection | latin1                              |
| character_set_database   | gbk                                 |
| character_set_filesystem | binary                              |
| character_set_results    | latin1                              |
| character_set_server     | gbk                                 |
| character_set_system     | utf8                                |
| character_sets_dir       | E:\MySQL Server 5.5\share\charsets\ |
+--------------------------+-------------------------------------+
8 rows in set但是,在mysql的命令行中运行的结果和以上不一样……:
mysql> show variables like 'char%';
+--------------------------+-------------------------------------+
| Variable_name            | Value                               |
+--------------------------+-------------------------------------+
| character_set_client     | gbk                                 |
| character_set_connection | gbk                                 |
| character_set_database   | latin1                              |
| character_set_filesystem | binary                              |
| character_set_results    | gbk                                 |
| character_set_server     | gbk                                 |
| character_set_system     | utf8                                |
| character_sets_dir       | E:\MySQL Server 5.5\share\charsets\ |
+--------------------------+-------------------------------------+
8 rows in set我被弄懵了……求大神指教

解决方案 »

  1.   

    能详细说明一下么?我刚开始用mysql和navicat,字符集方面的设置基本不了解,现在被我折腾的连mysql命令行里都显示不了中文字符了
      

  2.   

    http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
    MySQL 中文显示乱码
      

  3.   

    呵呵,很简单奥:每个客户端都有设置Connection相关的字符集和校对规则的系统变量能力!因此涉及到client端的变量varibles可以是不同的奥!你在仔细看看那些不同和相同的变量,呵呵
      

  4.   


    注意server端的肯定是一致的,不同的是client端。其实你都可以用命令修改的,具体查手册:
    比如,你需要编码是x,那么简单命令如下
    SET character_set_client = x;
    SET character_set_results = x;
    SET character_set_connection = x;