JDBC从MySql中获取中文数据乱码
为什么从MySql中获取的数据是乱码,修改配置文件mysql.ini中的编码方式与项目中的编码方式相同均为UTF8依旧乱码,修改前后的唯一区别是修改前直接MYSQL录入中文数据显示乱码,修改后可以直接录入中文数据不会显示乱码,但是用JDBC读取依旧乱码,无法解决,是否是MYSQL版本的问题,我的MYSQL是5.0.22免安装版 --------------------编程问答-------------------- 无法解决了,求教育 --------------------编程问答-------------------- 沉了么 --------------------编程问答-------------------- 最高只能加到100分,有人么 --------------------编程问答-------------------- 把mysql编码修改为GBK --------------------编程问答-------------------- http://www.iteye.com/topic/311583 --------------------编程问答-------------------- mysql.ini文件你怎么修改的?如果数据库中有数据,貌似不太好用。建议你把数据库备份下,卸载重装mysql,将默认字符集改成utf-8,同时把项目编码也都改成utf-8,这样会省去很多编码麻烦。 --------------------编程问答--------------------试过了,GB2312 UTF8全部试过了,但是不行 --------------------编程问答--------------------
我去看看 --------------------编程问答--------------------
就直接用记事本打开修改,mysql.ini文件里有设置默认编码方式的我将它改成UTF8依旧不行 --------------------编程问答-------------------- 查一下mysql数据库里存的数据是不是正确的,如果不正确,把数据库编码改成utf-8 --------------------编程问答--------------------
数据库里可以显示中文,但是JDBC调用就出现乱码,项目也是UTF8编码,是否是数据库版本问题 --------------------编程问答--------------------
没人知道是什么原因吗。。。。还是我问题没有说清楚。。。。。 --------------------编程问答-------------------- http://www.blogjava.net/NicholasEcho/archive/2008/11/03/238310.html --------------------编程问答--------------------
jdbc:mysql://127.0.0.1:3306/hello?useUnicode=true&characterEncoding=UTF-8
你连接的时候设定一下字符集试试 然后把mysql的字符集设成utf8,表的字符集也设成utf8,表的字段也设成utf8.java项目的字符集也改成UTF-8试试。 --------------------编程问答-------------------- tomcat conf目录,修改server.xml:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"/>
--------------------编程问答-------------------- 假设你的代码是这样的
while(rs.hasNext()){--------------------编程问答--------------------
String str=rs.getString(0);//假设这里获取的数据是乱码
//加如下代码试试
str=new String(str.getBytes("ISO-8859-1"),"utf-8");
System.out.println(str); //看输出的结果还是不是乱码
}
我的问题就是characterEncoding=gbk,传参之后就行了,十分感谢!! --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 建议建数据库时选择语言gb2312
补充:Java , Java相关