您好,登錄后才能下訂單哦!
怎么解決java頁面亂碼問題?這篇文章運(yùn)用了實(shí)例代碼展示,代碼非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。在頁面提交到tomcat亂碼 解決方法是在tomcat/conf/server.xml中進(jìn)行配置。
以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轉(zhuǎn)發(fā),則還需將:
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亂碼在這里介紹一種解決方法,可以在任何應(yīng)用部署環(huán)境下通用。此方法分兩步:
1、在客戶端用escape(encodeURIComponent(fieldValue))方法編碼,例如:
title=escape(encodeURIComponent(title)); //這是js里的函數(shù) url="<%=request.getContextPath()%>/print/printList!printTable.action?title="+title;
2、在服務(wù)端用java.net.URLDecoder.decode(getRequest().getParameter("title"),"UTF-8"),進(jìn)行解碼。
要在這兩個(gè)url地址中傳中文,必須加編碼,然后再解碼。
編碼:encodeURI(encodeURI("包含中文的串")) 解碼:java.net.URLDecoder.decode("需要解碼的串","utf-8");
JSP頁面亂碼通常只要在頁面開始地方用下面代碼指定字符集編碼即可。如果還不行,那么請用下面這句話來轉(zhuǎn)換
str=new String(str.getBytes("ISO-8859-1"),"頁面編碼方式");
JAVA在網(wǎng)絡(luò)傳輸中使用的編碼是"ISO-8859-1",故在輸出時(shí)需要進(jìn)行轉(zhuǎn)化,如:
String str=new String(str.getBytes("開發(fā)環(huán)境編碼"),"ISO-8859-1");
經(jīng)過網(wǎng)絡(luò)編碼后的中文,要正確顯示在頁面上必須要用類似于
Stirng str=new String(str.getBytes("ISO-8859-1"),"開發(fā)環(huán)境編碼");
上述就是小編為大家分享的解決java頁面亂碼問題的方法了,如果您也有類似的疑惑,不妨參照上述方法進(jìn)行嘗試。如果想了解更多相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。