日期:2014-05-18  浏览次数:20664 次

关于MSQL中文乱码的问题
本帖最后由 u011687117 于 2013-11-29 09:12:22 编辑
客户的数据库是MYSQL,编码为latin1,现在没法改数据库的编码,中文在数据库里面就已经是乱码了,在MYSQL客户端查询时,使用set names latin1 查询出来没乱码,但是现在用JDBC怎么查都是乱码,使用JDBC发送set names latin1 再new string(result.getbyte('iso08859-1'),utf-8)也不管用,目前已经尝试过很多方法了,反正只要使用JDBC查询出来的中文就是乱码。。求教有什么方法啊。。。
PS:数据库是不能改的。只能查询
数据库:
character_set_client utf8
character_set_connection utf8
character_set_database latin1
character_set_filesystem binary
character_set_results utf8
character_set_server latin1
character_set_system utf8

------解决方案--------------------
mysql连接时使用  latin1  这个编码,应该就能解决这个问题

jdbc:mysql://127.0.0.1/db_demo?characterEncoding=latin1
------解决方案--------------------
http://blog.csdn.net/yang3wei/article/details/6443680
------解决方案--------------------
这样看看行不。。


连接不用写什么编码

在建立连接之后就执行:set names latin1 。当作一条SQL语句进行执行
------解决方案--------------------
 jdbc:mysql://localhost:3306/mysystem?characterEncoding=utf-8
------解决方案--------------------
Mysql可以修改编码的  你如果是安装版的Mysql你可以找到一个my.ini文件 里面可以改成UTF-8的 然后重新启动Mysql的服务

------解决方案--------------------
new string(result.getbyte('latin1'),utf-8)这样