struts+hibernate+mysql显示中文乱码问题

nedvedno1 2008-05-28 10:54:38
jsp页面上设置了pageEncoding="UTF-8" ,mysql编码也是utf-8,同时还用filter设置了编码为utf-8,怎么页面上显示的中文是乱码啊?
...全文
239 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
我也出现同样问题
zk32373139 2008-05-29
  • 打赏
  • 举报
回复
怎么说呢,看UTF-8不爽
wsh622827 2008-05-29
  • 打赏
  • 举报
回复
使用utf-8确实没问题
不要冤枉8楼的啊
主要是安装mysql的时候编码一定要正确设置为utf-8
utf-8是unicode码 它兼容中文和西文

ansensp 2008-05-28
  • 打赏
  • 举报
回复
我也遇到了同样的问题 陪你等
Adam43046721 2008-05-28
  • 打赏
  • 举报
回复
难道使用GB2312不能解决中文乱码问题吗?反正我是这么解决的,也没有什么问题。你又有什么资格说误人子弟。即使你是个高手,但是这么没有礼貌,真的,人品啊。
sea_way 2008-05-28
  • 打赏
  • 举报
回复
楼上还建议GB3212,不要误人子弟了。
建议楼主检查MYSQL数据库的编码
编辑my.ini(如果是Linux平台上的可能是my.cnf)
然后找到[mysqld]区块,在后面加入

default-character-set=utf8
default-collation=utf8_general_ci


确认mysql启动过程中--defaults-file参数指定的my.ini文件无误。

mysql中使用这个命令查看系统中用到的字符集设置

SHOW VARIABLES LIKE "character_set_%";


这时候所有与编码相关的参数应该都是utf8

'character_set_client', 'utf8'
'character_set_connection', 'utf8'
'character_set_database', 'utf8'
'character_set_filesystem', 'binary'
'character_set_results', 'utf8'
'character_set_server', 'utf8'
'character_set_system', 'utf8'
'character_sets_dir', 'C:\mysql\share\charsets\'


重启mysql后再次检查,改对为止。

jdbc连接字符串
jdbc:mysql://localhost/mydb?characterEncoding=utf-8
yami251139 2008-05-28
  • 打赏
  • 举报
回复
filter去掉....试试看
我就不大用filter....
你把charset也设成utf8吧...
zk32373139 2008-05-28
  • 打赏
  • 举报
回复
1.建议使用gb2312
2.使用filter
3.直接转码(实在没办法的时候)new String("".getBytes("iso-8859=1"),"gb2312")
Adam43046721 2008-05-28
  • 打赏
  • 举报
回复
建议全部使用GB2312,可以解决乱码问题。如果你的mysql是绿色版的,到bin目录下:mysqld --default-character-set=gb2312,这样数据库已经启动了。登录数据库set names 'gb2312',这个时候你的数据库就完全支持GB2312了,就不会有错误了。当然你也可以换成自己想要的编码方式,方法同上。
yellowen170161599 2008-05-28
  • 打赏
  • 举报
回复
能用UTF-8的都用上绝对没有乱码问题

连接数据库的时候加上这一句吧

jdbc:mysql://localhost:3306/mysql?userUnicode=true&characterEncoding=UTF-8

试过很多次了 没有出现过乱码问题
还有楼主你 安装MYSQL

表中的字段能设置UTF-8的 全都设置好
这样的话就不会出现乱码问题了
KKK2007 2008-05-28
  • 打赏
  • 举报
回复
用编码过滤器
siyue_qi 2008-05-28
  • 打赏
  • 举报
回复
为什么不用过滤器,我用的挺好用的。

1、到你Tomcat 5.0\webapps\servlets-examples\WEB-INF\classes\filters下找到SetCharacterEncodingFilter.java这个文件。
2、把SetCharacterEncodingFilter.java放到你的工程代码中。
3、设置web.xml
<filter>
<filter-name>Set Character Encoding </filter-name>
<filter-class>你的包.SetCharacterEncodingFilter </filter-class>
<init-param>
<param-name>encoding </param-name>
<param-value>UTF-8 </param-value>
</init-param>
<init-param>
<param-name>ignore </param-name>
<param-value>true </param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding </filter-name>
<servlet-name>action </servlet-name>
</filter-mapping>
marf_cn 2008-05-28
  • 打赏
  • 举报
回复
看看eclipse里项目属性里设置的编码格式
hczjcl 2008-05-28
  • 打赏
  • 举报
回复
把所以页面都设成utf-8,或GB2312
TDwebber 2008-05-28
  • 打赏
  • 举报
回复
看看你的jsp文件的编码是不是utf-8的

81,094

社区成员

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

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