您的位置:首页 > 其它

web项目出现乱码的几种解决方案

2015-11-18 16:34 393 查看
解决Java WEB开发过程中后台接受前台的中文信息乱码问题,有四个方法,记录一下,方便以后自己查找,也方便大家。

首先:

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

并且

request.setCharacterEncoding("gb2312");

第二:

 配置 server.xml。

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

  <Connector port="8009" protocol="AJP/1.3" redirectPort="8443"  URIEncoding="UTF-8"/>

第三:

配置 web.xml  

 <filter>

  <filter-name>setEncoding</filter-name>

  <filter-class>com.dinner.filter.CharsetFilters</filter-class>

  <init-param>

  <param-name>coding</param-name>

  <param-value>UTF-8</param-value>

  </init-param>

 </filter>

 <filter-mapping>

  <filter-name>setEncoding</filter-name>

  <url-pattern>/*</url-pattern>

 </filter-mapping>

第四:

工程编码

 开发中发现Windows版Eclipse默认Java和Web工程的默认编码方式不那么遂人愿,修改方法如下:

 1. Web工程文件编码修改方式

 Window -> Preference -> Content types

 推荐将Web相关文件的编码都设置为UTF-8

 2. Java源文件编码修改方式

 Window -> Preference -> Workspace -> Text file encoding

 Windows平台默认为GBK,Linux平台默认为UTF-8

经过这四个步骤,一般都是能解决的。

终极办法:

配置tomcat(好处是设置之后,一劳永逸)

在server.xml中添加urlencroing=utf8

Xml代码  


<Connector port="8029" protocol="HTTP/1.1"   

           connectionTimeout="20000"  

           URIEncoding="utf-8"   

           redirectPort="8443" />  

 

需要注意的是这两个配置不能同时使用,否则还会是乱码。一般在工程开发之初就把规则定好!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: