JavaWbe中文乱码解决方案
生活随笔
收集整理的這篇文章主要介紹了
JavaWbe中文乱码解决方案
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、文件的亂碼
1.1、項目文本文件默認編碼:
【右擊項目】->【Properties】->【Resource】->【Text file encoding】?????
1.2、文件默認編碼:默認使用項目的默認編碼
【右擊文件】->【Properties】->【Resource】->【Text file encoding】
1.3、?JSP?文件編碼:由于?JSP?要翻譯為?Servlet
1.3.1、JSP文件編碼:
【右擊文件】->【Properties】->【Resource】->【Text file encoding】
1.3.2、JSP翻譯為Servlet時的編碼:
<%@ page language="java" pageEncoding="utf-8"%>
中文亂碼:在以后學習過程中全部采用UTF-8 2、瀏覽器和服務器間傳輸數據的亂碼 2.1、?瀏覽器端?編碼,一般由服務器端告訴瀏覽器如何解碼數據: 2.1.1、Servlet response.setContentType("text/html; charset=UTF-8"); 或者? response.setCharacterEncoding(“UTF-8”); ?? 2.1.2、JSP <%@ page language="java" contentType="text/html; charset=utf-8" %> ?? 2.1.3、通用 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 注:瀏覽器編碼可以由我們手工修改,但最后不要這樣,一般讓瀏覽器自動選擇即可。 中文亂碼:在以后學習過程中全部采用UTF-8 2、瀏覽器和服務器間傳輸數據的亂碼 2.2、?服務器端?編碼,將客戶端傳過來的數據進行解碼: 瀏覽器默認使用ISO-8859-1進行編碼數據,然后將數據傳輸到服務器,因此我們默認只需要將瀏覽器發送過來的數據轉換為我們需要的編碼即可。 2.2.1、最簡單方式: ??? String username = request.getParameter(“username”); username =?new String(username.getBytes("ISO-8859-1“), "UTF-8"); ?? 2.2.2、比較好的解決方案 ? ????//?必須?在獲取參數之前,調用如下方法先解碼 ?????? request.setCharacterEncoding(“UTF-8”); String username = request.getParameter(“username”); 2.4、比較通用方案:在一個Filter中更改所有請求的編碼方式: 1、在src中添加filter來設置編碼格式是中文,filter類可以在tomcat的包里面:apache-tomcat-6.0.16.zip\apache-tomcat-6.0.16\webapps\examples\WEB-INF\classes\filters下面,SetCharacterEncodingFilter.java文件 ???? 2?、在?web.xml?中配置?filter?,具體配置如下頁: <filter> <filter-name>Set Character Encoding</filter-name> <filter-class>filters.SetCharacterEncodingFilter</filter-class> <init-param><param-name>encoding</param-name> <param-value>utf-8</param-value></init-param> </filter> <filter-mapping> <filter-name>Set Character Encoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 2.5、?GET提交方式中文亂碼解決 通過修改request.setCharacterEncoding(“UTF-8”);只能解決POST提交方式的請求編碼,對GET無效。 1?、最簡單解決方案:?該解決方案不再需要任何額外配置(如filter) TOMCAT默認ISO-8859-1 因此可以設置默認編碼為UTF-8解決,在conf\server.xml文件中設置如下 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding=”UTF-8”/> ???? 2?、在?tomcat4?之后,可以通過如下配置來解決中文亂碼,但必須配置?filter 在conf\server.xml文件中設置如下 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" useBodyEncodingForURI=“true”? /> 然后request.setCharacterEncoding(“UTF-8”)也可解決GET亂碼
總結
以上是生活随笔為你收集整理的JavaWbe中文乱码解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STM32f103——ILI9341
- 下一篇: 易编远航第三期第3期第4套-游戏大厅脚本