JSP中request在即使页头写 pageEncoding="gb2312"和charset="gb2312",servlet中写request.setCharacterEncoding("gb2312")中文还乱码是为什么,

百世经纶之傲笑红尘 发布于 2015/06/06 00:55
阅读 1K+
收藏 0
jsp页头写了<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="gb2312"%>

                 <%@ page contentType="text/html;charset=gb2312" %>

form方式post,action到一个servlet中,servlet中也设置request.setCharacterEncoding("gb2312");

并且还试过

             try{byte bb[]=s.getBytes("iso-8859-1");
              }catch(Exception ee){
              return s;
              }
             这样中文还是乱码是什么原因

加载中
0
Adairs
Adairs
尽量统一使用utf-8,共有以下几个地方需要设置: 1、JSP的pageEncoding,contextType 2、tomcat中Server.conf中port后边设置URlEncoding=utf-8 3、web.xml设置编码过滤器 4、数据库连接设置编码
0
百世经纶之傲笑红尘
百世经纶之傲笑红尘
数据库设置是gb2312.从数据库里取中文到页面显示是正确的,页面提交request到servlet,自己写个out.print打印request,中文都变问号了,应该是tomcat里URL的编码问题吧xml还没加滤码,谢谢JSP技术友了
0
公孙二狗
公孙二狗

还有 html 中 meta 的charset 也要设置,Tomcat 的JVM 启动参数-Dfile.encoding 也要设置

返回顶部
顶部