1. 程式人生 > >WEB專案中文亂碼的問題

WEB專案中文亂碼的問題

原文

1.解決HTML頁面中的中文問題:

為了使HTML頁面很好地支援中文,就必須在每個HTML頁面的頭部增加如下程式碼:

<META http-equiv=Content-Type content="text/html;charset=utf-8">

2.解決JSP頁面中的中文問題

為了使JSP頁面很好地支援中文,就必須在每個JSP頁面的頭部增加如下程式碼:

<%@ page contentType="text/html;charset=utf-8" language="java"%>

3.解決Servlet響應結果的中文問題

為了使Servlet頁面很好地支援中文,就必須在每個Servlet頁面的頭部增加如下程式碼:

response.setCharacterEncoding("utf-8");

4.解決頁面資料傳輸的中文問題

為了使中文資料在各頁面(元件)之間正常傳遞,最佳的方法就是採用編碼過濾器來解決。在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>gb2312</param-value>
    </init-param>  
</filter>

<filter-mapping>
    <filter-name>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

5.設定mysql編碼為utf-8:

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/localtest?useUnicode=true&characterEncoding=utf-8

6.設定tomcat編碼:為解決以get方式提交的引數出現亂碼,新增

修改tomcat下的conf/server.xml檔案, 新增URIEncoding=”UTF-8”

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

7.解決@responsebody返回亂碼問題:

在springmvc配置檔案中新增

<mvc:annotation-driven>  
    <!-- 訊息轉換器,解決responseBody返回中外亂碼問題 -->  
    <mvc:message-converters register-defaults="true">  
        <bean class="org.springframework.http.converter.StringHttpMessageConverter">  
            <property name="supportedMediaTypes" value="text/plain;charset=UTF-8" />  
        </bean>  
    </mvc:message-converters>  
</mvc:annotation-driven>