shanbaooo
shanbaooo
2012-03-17 13:04

jsp注册页面输入中文后乱码!!!!!

已采纳

我在dbcp.properties中配置: url=jdbc:mysql://localhost:3309/dang?useUnicode=true&characterEncoding=gbk

struts.xml中web.xml中和各JSP中都设置的编码GBK, 数据库用的mysql, 设置了default character set gbk;

 

 

可以在注册界面输入中文时注册成功后, 跳转页面昵称就变成了?????, 火狐浏览器的页面编码也设置的是gbk, 求解啊

 

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • oxcow oxcow 9年前

    [quote]LeeYee, 多谢您的帮助, 表单我用的POST提交, JSP头也没问题, 我用的struts2, 经过简单的测试, 我发现字符在没有进入数据库的时候就已经乱码了, 就相当于, 在A页面输入了中文的昵称, 还没有到B页面时就已经乱码...所以现在更郁闷了 [/quote]

    扩充:[url]http://www.iteye.com/topic/300540[/url]

    点赞 评论 复制链接分享
  • oxcow oxcow 9年前

    1 提交表单时使用的是POST还是GET。
    2 检查下form表单中得到的中文是否乱码
    3 查看下数据库中保存的中文是否乱码
    4 检查下从数据库中取出来中文,在没有显示到页面时(后台)是否是乱码
    5 看下你的jsp页面头上否为[code="html"]<%@ page language="java" contentType="text/html; charset=GBK"
    pageEncoding="GBK"%>[/code]

    如果不行
    在尝试下

    1 写一个拦截器。如果用到spring则在web.xml配置以下代码试试[code="xml"]
    setCharacterEncoding
    org.springframework.web.filter.CharacterEncodingFilter

    encoding
    GBK



    setCharacterEncoding
    /*
    [/code]
    2 如果已经使用useUnicode=true&characterEncoding=gbk 或者拦截器 或者UrlEncode都不行,那么尝试改下服务器的编码,比如tomcat的。

    这个关键是要看在那一步乱码的,然后才能对症下药

    点赞 评论 复制链接分享

相关推荐