我在用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我被弄懵了……求大神指教
在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我被弄懵了……求大神指教
MySQL 中文显示乱码
注意server端的肯定是一致的,不同的是client端。其实你都可以用命令修改的,具体查手册:
比如,你需要编码是x,那么简单命令如下
SET character_set_client = x;
SET character_set_results = x;
SET character_set_connection = x;