熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> JSP教程 >> 正文

java頁面中文亂碼

2013-11-15 12:07:49  來源: JSP教程 
代碼如下  

  <Connectorport=""protocol="HTTP/"
connectionTimeout=""
redirectPort=""/>
<Connector port="" protocol="HTTP/"
connectionTimeout=""
redirectPort="" />

  改為

  Xml代碼
<Connectorport=""protocol="HTTP/"
connectionTimeout=""
redirectPort=""URIEncoding="UTF"/>
<Connector port="" protocol="HTTP/"
connectionTimeout=""
redirectPort="" URIEncoding="UTF" />

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

代碼如下  

  Xml代碼
<Connectorport=""protocol="AJP/"redirectPort=""/>
<Connector port="" protocol="AJP/" redirectPort="" />

  改為

  Xml代碼
<Connectorport=""protocol="AJP/"redirectPort=""URIEncoding="UTF"/>
<Connector port="" protocol="AJP/" redirectPort="" URIEncoding="UTF" />

  ================

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

  在客戶端用escape(encodeURIComponent(fieldValue))方法編碼例如

代碼如下  

  title=escape(encodeURIComponent(title)); //這是js裡的函數

  url="<%=requestgetContextPath()%>/print/printList!printTableaction?title="+title;

  在服務端用javanetURLDecoderdecode(getRequest()getParameter("title")"UTF")進行解碼

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

代碼如下  

  編碼encodeURI(encodeURI("包含中文的串"))
解碼javanetURLDecoderdecode("需要解碼的串""utf");

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

代碼如下  

  str=new String(strgetBytes("ISO")"頁面編碼方式");

  JAVA在網絡傳輸中使用的編碼是"ISO"故在輸出時需要進行轉化

代碼如下  

  String str=new String(strgetBytes("開發環境編碼")"ISO");

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

代碼如下  

  Stirng str=new String(strgetBytes("ISO")"開發環境編碼");


From:http://tw.wingwit.com/Article/program/Java/JSP/201311/20358.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.