Java Web開辟項目中中文亂碼處理辦法匯總。本站提示廣大學習愛好者:(Java Web開辟項目中中文亂碼處理辦法匯總)文章只能為提供參考,不一定能成為您想要的結果。以下是Java Web開辟項目中中文亂碼處理辦法匯總正文
Java Web項目中,處理中文亂碼辦法總結以下
第一種情形:挪用jsp頁面中文顯示亂碼
成績描寫:經由過程閱讀器挪用jsp頁面,在閱讀器中顯示的中文內容湧現亂碼。
處理辦法:起首確認本jsp在編纂器中保留文件內容時,應用的是utf-8的編碼格局,然後在jsp頁面的開端處添加<%@ pageEncoding="utf-8"%>便可以處理這類中文亂碼成績
第二種情形:挪用servlet頁面顯示亂碼
成績描寫:經由過程閱讀器挪用servlet,servlet在閱讀器中顯示的內容湧現亂碼。
處理辦法:在servlet應用response對象輸入前,先履行response.setContentType("text/html;charset=utf-8");設定輸入內容的編碼為utf-8。
第三種情形:post表單傳遞參數亂碼
成績描寫:經由過程jsp,html,或servlet中的表單位素把參數提交給對應的jsp或許servlet時,在吸收的jsp或servlet中吸收到的參數中文顯示亂碼。
例如:
提交jsp代碼以下:
<%@ page language="java" pageEncoding="utf-8"%> <html> <head> <title>輸出表單</title> </head> <body> <form id="inputForm" name="inputForm" method="post" action="display.jsp"> 用戶名:<input type="text" name="username"/><br/> 密 碼 :<input type="password" name="password"/><br/> <input type="submit" name="submit" value="提交"/> </form> </body> </html>
吸收參數的jsp代碼以下:
<% @ page language="java" pageEncoding="utf-8"%> <html> <head> <tilte>吸收表單</title> </head> <body> <% 在這裡拔出 request.setCharacterEncoding("utf-8"); %> 用戶名:<%=request.getParameter("username")%><br/> 密 碼:<%=request.getParameter("password")%><br/> </body> </html>
處理辦法:在吸收post提交的參數前,應用request.setCharacterEncoding("utf-8")設定吸收參數的內容格局為utf-8編碼。見吸收表單中的拔出內容便可。固然這類亂碼成績最好應用中文過濾器的辦法最好。
第四種情形:URI方法傳遞參數亂碼
成績描寫:應用表單傳遞參數,可以經由過程post或get方法,不實用表單,還可使用鏈接方法傳遞參數,這類傳遞參數方法實質上就是get方法傳遞參數,這類方法中傳遞的參數湧現中文時也能夠湧現亂碼。
如:
<a href="/webproject/display.jsp?username=張三&password=123">顯示用戶名和暗碼</a>
處理辦法:成績實質是get方法傳遞的參數內容默許編碼方法問ISO8859-1,並且應用request.setCharacterEncoding("utf-8")也沒法處理成績,要處理這個成績,修正tomcat辦事器的設置裝備擺設文件。修正tomcat目次下的conf/server.xml文件的第43行:
修正前內容:
<Connector port="8080" protocol="HTTP/1.1" maxThreads="150" connectionTimeout="200000" redirecPort="8443"/>
修正後內容:
<Connector port="8080" protocol="HTTP/1.1" maxThreads="150" connectionTimeout="200000" redirecPort="8443" URIEncoding="utf-8"/>
如許便可以處理這類類型的亂碼成績。
第五種情形:
成績描寫:在應用一些類庫或許框架時,為了完成頁面內容國際化,須要編寫對應的properties文件。而properties文件中的中文內容在顯示的時刻也會湧現亂碼。
處理辦法:這個亂碼成績可以經由過程jdk中的native2ascii對象處理。應用以下敕令:
native2ascii -encoding utf-8 display.properties display_zh_CN.properties
湧現亂碼成績的緣由是由於java編譯器只能處置Latin-1或unicode編碼的字符文件。
以上就是本文的全體內容,願望對年夜家的進修有所贊助。