RunUpwind
RunUpwind
2010-10-21 18:52

TOMCAT5 JSP POST 乱码

已采纳

以前运行正常,突然有一天发现,POST提交的中文变为乱码。

页面编码为GBK. 接收页面,在最前面写有:request.setCharacterEncoding("GBK");

如果在用 String str = request.getParameter("str"); 取参数后
byte[] tempByte = str .getBytes("ISO8859_1");
str = new String(tempByte,"GBK");
可以获取到正常的中文编码。

网站没有用fliter,其实fliter 里也是这句话:request.setCharacterEncoding("GBK");,但好像这句没起作用。

服务器是linux,是否与服务器上某些配置有关?还是什么原因,谁能帮我解答?谢谢

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

4条回答

  • soartju soartju 11年前

    试试把request.setCharacterEncoding("GBK");放在最前面的filter中

    点赞 评论 复制链接分享
  • gaishishengzhu520 gaishishengzhu520 11年前

    1.检查tomcat的server.xml URIEncoding="GBK" 、
    2.request.setCharacterEncoding("GBK"); 最好放在过滤器里面
    3.浏览器右键 编码选择GBK

    再有问题,肯定是人品

    点赞 评论 复制链接分享
  • zgy52188 zgy52188 11年前

    找到tomcat的server.xml 然后在端口那个标签中加入一个属性
    URIEncoding="GBK" 让所有的jsp xml的编码都和URIEncoding的一样 保管不会出现乱码问题

    点赞 评论 复制链接分享
  • enet_java enet_java 11年前

    跟服务器也有关系,服务器上可能是没有安装中文字符集。
    还有正常的url请求,都会被转成ISO8859-1的编码的。
    如果要解决的话,可以考虑加上一个全局的字符集filter,代码可以从论坛搜索一下。
    或者PM给我。
    这样比较方便,避免出现更换服务器还要进行硬编码的情况。

    点赞 评论 复制链接分享

相关推荐