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
------解决方案--------------------