程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java Web開辟項目中中文亂碼處理辦法匯總

Java Web開辟項目中中文亂碼處理辦法匯總

編輯:關於JAVA

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編碼的字符文件。

以上就是本文的全體內容,願望對年夜家的進修有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved