日期:2014-05-17  浏览次数:20647 次

myeclipse从mysql中读出的中文变成乱码
我在mysql中创建一个模式,然后在模式下创建一个表,表中有中文.奇怪的是在mysql中查询表中的数据时能正确显示,但是我在myeclipse中连接mysql后用Java程序对该表进行查询,读到的中文数据就变成乱码了,这是怎么回事呢?

mysql> show variables like 'character%';命令的结果如下:
+--------------------------+------------------------------------------+
| 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:\JSoftInstall\mySql5.1\share\charsets\ |
+--------------------------+------------------------------------------+
8 rows in set (0.00 sec)


mysql

------解决方案--------------------
数据库的编码是latin1。修改utf8吧
alter database 数据库名 character set utf8;
------解决方案--------------------
我也遇到过这样的问题,我的解决办法是这样的:
public static final String DBURL = "jdbc:mysql://localhost:3306/gms?characterEncoding=gb2312" 
也就是在后面加上“数据库名?characterEncoding=gb2312”这部分,乱码问题就可以解决了
------解决方案--------------------
读取的地方也转换一下String str = "中文的";
String u8 = new String(str.getBytes("gbk"),"utf-8");
------解决方案--------------------
?characterEncoding=UTF8
------解决方案--------------------
引用:
我也遇到过这样的问题,我的解决办法是这样的: