?jsp页面乱码或者传参乱码解决,我的终结版:
请首先大致浏览下文章再在代码里做修改,省的添加一堆无用的代码。
?
?
? ?1、jsp页面
? ?页面头添加:
? ?<%@ page language="java" contentType="text/html; charset=UTF-8" ?pageEncoding="UTF-8"%>
? ?<%request.setCharacterEncoding("UTF-8");response.setCharacterEncoding("UTF-8");%>
?
? ?<head>里添加:
? ?<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
?
? ? 右键jsp页面的属性,确保其编码为utf-8
? ?2、servlet或action
? ?方法头添加
? ?request.setCharacterEncoding("UTF-8");
? ?response.setCharacterEncoding("UTF-8");
? ?3、工程
? ?工程右键-确保工程编码为utf-8
? ?4、用到了spring
? ?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>
?
?
? spring配置dispatcherServlet的那个xml文件添加:
? <!--必须有,@responsebody默认滴是那个什么8859-1滴狗屁编码,需要在配置文件中加入如下代码转换-->
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" > ?
<property name="messageConverters"> ??
? ? ? ? <list> ??
? ? ? ? ? ? <bean class = "org.springframework.http.converter.StringHttpMessageConverter"> ??
? ? ? ? ? ? ? ?<property name = "supportedMediaTypes">
? ? ? ? ? ? ? ? ? ? ?<list>
? ? ? ? ? ? ? ? ? ? ? ? ?<value>text/html;charset=UTF-8</value> ??
? ? ? ? ? ? ? ? ? ? </list> ??
? ? ? ? ? ? ? ?</property> ??
? ? ? ? ? ? </bean> ??
? ? ? ? </list> ??
? </property> ?
</bean>?
?
?
5、服务器,其它服务器同理
tomcat的servlet.xml配置文件里添加utf-8编码:
<Connector port="8080" protocol="HTTP/1.1"?
? ? ? ? ? ? ? ?connectionTimeout="20000"?
? ? ? ? ? ? ? ?redirectPort="8443" URIEncoding="UTF-8"/>
如果用eclipse集成的tomcat请在包资源管理器里找Servers里找tomcat添加。
? ? ? ? ?
?
?
要是还有乱码,全删了重搞?