国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java Web開發項目中中文亂碼解決方法匯總

2019-11-26 14:19:47
字體:
來源:轉載
供稿:網友

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

以上就是本文的全部內容,希望對大家的學習有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 烟台市| 双柏县| 安仁县| 池州市| 霸州市| 阜康市| 凌源市| 沂南县| 神木县| 稷山县| 浮山县| 洪湖市| 盐山县| 西安市| 八宿县| 新巴尔虎右旗| 普定县| 自治县| 贵港市| 涿州市| 镇原县| 辽阳县| 永福县| 仙游县| 保定市| 宣武区| 黄山市| 尉氏县| 云安县| 吴旗县| 卢氏县| 兴化市| 辽中县| 芦山县| 连城县| 南陵县| 临海市| 丁青县| 连平县| 连平县| 德惠市|