JSP乱码问题

来源:互联网 发布:mac web开发工具 编辑:程序博客网 时间:2024/06/01 07:19

最近需要做一个新项目,重新拿了一个公司的原始框架,因为使用了有一段时间了,搭建起来很快就可以运行了.不过这个时候出现了一个小问题,jsp前台数据传递到后台以后出现乱码现象,查找了很久,该修改的地方都修改了,过滤器也有,百思不得其解最后通过查看资料找到了问题的所在.现在记录一下

  一般情况下需要设置编码的地方:

1)web.xml中设置过滤器

<filter>
        <filter-name>encodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

2)jsp页面设置简码格式(自我认为的)

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html; charset=GBK"%>

在这个地方有个问题不是很了解,contentType="text/html; charset=GBK"当我设置GBK的时候可以使用,UTF-8的时候jsp页面本身的中文会出现乱码,从数据库中获取的中文不会(更不得其解的是,有的项目是UTF-8是好的,GBK是乱码的)


3)server.xml文件

<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>


本次的问题便是出现在这里.tomcat看资料说TOMCAT默认的会进行iso8859-1的编码处理,这个时候如果我们的提交方式是GET的话便会出现乱码问题.但是如果我们提交方式是

POST的话便没有这个问题了.如果大家的1,2都做了,那么3出现问题的可能性是很大的.



详细资料:http://liugang-ok.iteye.com/blog/1286262/

0 0