首頁 > Java > Java基礎 > 主體

java頁面亂碼解決方法

發布: 2019-12-10 17:10:36
原創
2268 人瀏覽過

java頁面亂碼解決方法

在頁面提交到tomcat亂碼解決方法是在tomcat/conf/server.xml中進行設定(建議:java影片教學

以tomcat6.0.32為例,需將以下程式碼:

Xml程式碼

<Connectorport="8080"protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"/>
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
登入後複製

改為:

Xml程式碼

<Connectorport="8080"protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"URIEncoding="UTF-8"/>
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />
登入後複製

如果tomcat前端有Apache或是Nginx轉發,則還需將:

Xml代碼

<Connectorport="8009"protocol="AJP/1.3"redirectPort="8443"/>
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
登入後複製

改為:

Xml代碼

<Connectorport="8009"protocol="AJP/1.3"redirectPort="8443"URIEncoding="UTF-8"/>
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8" />
登入後複製

中文url亂碼在這裡介紹一種解決方法,可以在任何應用程式部署環境下通用。此方法分兩步驟:

1、在客戶端以escape(encodeURIComponent(fieldValue))方法編碼,例如:

title=escape(encodeURIComponent(title)); //这是js里的函数
url="<%=request.getContextPath()%>/print/printList!printTable.action?title="+title;
登入後複製

2、在服務端以java.net.URLDecoder.decode (getRequest().getParameter("title"),"UTF-8"),進行解碼。

要在這兩個url位址中傳中文,必須加編碼,然後再解碼。

编码:encodeURI(encodeURI("包含中文的串"))
解码:java.net.URLDecoder.decode("需要解码的串","utf-8");
登入後複製

JSP頁面亂碼通常只要在頁面開始地方用下面程式​​碼指定字元集編碼即可。如果還不行,那麼請用下面這句話來轉換

str=new String(str.getBytes("ISO-8859-1"),"页面编码方式");
登入後複製

JAVA在網路傳輸中使用的編碼是"ISO-8859-1",故在輸出時需要進行轉化,如:

String str=new String(str.getBytes("开发环境编码"),"ISO-8859-1");
登入後複製

經過網路編碼後的中文,要正確顯示在頁面上必須要用類似於

Stirng str=new String(str.getBytes("ISO-8859-1"),"开发环境编码");
登入後複製

更多java知識請關注java基礎教程欄目。

以上是java頁面亂碼解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!