新手求教jdbc读取mysql数据库中文乱码的问题,求高人帮忙!问题解决马上给分.在线等...

交个朋友好不好 2013-11-19 03:34:35
我想用jdbc读取mysql数据库,在jsp页面展示中文是乱码,发现在dao中读取中文时已经乱码!
mysql数据库编码是latin1,数据库是其他公司的,没法修改编码方式!
我尝试了两种方法解决问题:
一种是在url后面加编码方式url=jdbc:mysql://11.76.19.207:3306/dial_asaf_log?useUnicode=true&characterEncoding=UTF-8
一种是在dao中取数据时做设置
SummaryBean sb = new SummaryBean();
sb.setFlowName(new String(rs.getString(1).getBytes("iso-8859-1"),"UTF-8"));
但是这两种方法都没有解决问题!!!!
在线求高手帮忙
...全文
581 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
我想知道怎么解决的
meetcometfly 2013-11-25
  • 打赏
  • 举报
回复
还有,同上楼。url=jdbc:mysql://11.76.19.207:3306/dial_asaf_loguseUnicode=true&characterEncoding=UTF-8
meetcometfly 2013-11-25
  • 打赏
  • 举报
回复
Tomcat里的server.xml <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/> struts2里设置 <constant name="struts.il8n.encoding" value="utf-8"/> JSP里设置 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%
  • 打赏
  • 举报
回复
问题终于解决了,谢谢大家了!
perfect_means_shit 2013-11-24
  • 打赏
  • 举报
回复
url=jdbc:mysql://11.76.19.207:3306/dial_asaf_loguseUnicode=true&characterEncoding=UTF-8 把utf-8改成UTF8
  • 打赏
  • 举报
回复
使用status查询数据库编码信息如下:
server characterset latin1
Db characterset latin1
client characterset gbk
conn. characterset gbk
我使用 ps.execute("set names utf8");
db.setFlow_name(new String(rs.getString(1).getBytes("iso-8859-1"),"GBK"));
可以正常显示中文,但是sql查询条件是中文时还是查询不到结果集啊.
有没有哪位大神遇到过mysql中文查询条件查询的问题啊,麻烦说下
MC-热狗 2013-11-22
  • 打赏
  • 举报
回复
sb.setFlowName(new String(rs.getString(1).getBytes("latin1"),"UTF-8")); 另外还是把url=jdbc:mysql://11.76.19.207:3306/dial_asaf_log?useUnicode=true&characterEncoding=UTF-8 这个改成UTF8
zhaoyang66 2013-11-22
  • 打赏
  • 举报
回复
其实db乱码解决很简单,创建database时,用utf8编码,创建table也用utf8编码,conn链接时 characterEncoding=utf8 就ok了。不要有时候用utf8,有时候用gbk
  • 打赏
  • 举报
回复
是的,rs.getString(1) 打印出来就是乱码
MC-热狗 2013-11-22
  • 打赏
  • 举报
回复
rs.getString(1) 这个打印出来就是乱码?
  • 打赏
  • 举报
回复
还没到jsp页面,在java类,条件为中文时就读不出来结果了
MC-热狗 2013-11-22
  • 打赏
  • 举报
回复
是页面到java类就出现乱码了?
JerryDreamer 2013-11-22
  • 打赏
  • 举报
回复
http://blog.csdn.net/jerrydreamer/article/details/12856875 我过去的一篇简单的日志,你可以尝试下
  • 打赏
  • 举报
回复
数据库中文显示是正常的,乱码是在读取时发生的.
现在的问题是查询条件为中文时查询不到结果.
MC-热狗 2013-11-22
  • 打赏
  • 举报
回复
楼主 连接mysql设置字符集的路径应该这样 url=jdbc:mysql://11.76.19.207:3306/dial_asaf_log?useUnicode=true&characterEncoding=UTF8 mysql不叫UTF-8 而是UTF8
爪哇三郎 2013-11-22
  • 打赏
  • 举报
回复
乱码是从什么地方开始乱的,是本来存在数据库中就是乱的?还是取出数据变成乱的?
  • 打赏
  • 举报
回复
有人在吗?真的很着急,帮忙顶下贴啊
kobe8free 2013-11-19
  • 打赏
  • 举报
回复
引用 9 楼 JJYYyibanhua 的回复:
一种是在url后面加编码方式url=jdbc:mysql://11.76.19.207:3306/dial_asaf_log?useUnicode=true&characterEncoding=ISO-8859-1
忘了加这个了,不然还是乱码 new String(values.getBytes("ISO-8859-1"),"GBK"))
kobe8free 2013-11-19
  • 打赏
  • 举报
回复
一种是在url后面加编码方式url=jdbc:mysql://11.76.19.207:3306/dial_asaf_log?useUnicode=true&characterEncoding=ISO-8859-1
挨踢的小耗子 2013-11-19
  • 打赏
  • 举报
回复
把数据库的编码设置成utf-8的
加载更多回复(7)

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧