首頁  >  文章  >  Java  >  java物件亂碼怎麼辦

java物件亂碼怎麼辦

coldplay.xixi
coldplay.xixi原創
2020-08-17 11:41:102010瀏覽

java物件亂碼的解決方法:1.檔案下載亂碼時,下載回應頭,filename要用URLEncoding進行編碼,才能進行HTTP傳輸;2、java與資料庫之間的亂碼,直接使用unicode與資料庫進行交互,可以在驅動的url中指定。

java物件亂碼怎麼辦

java物件亂碼的解決方法:

jsp與頁面參數之間的亂碼

   強制指定request取得編碼的方式:

request.setCharacterEncoding("UTF-8");

   如果jsp輸出到頁面出現亂碼:

response.setCharacterEncoding("UTF-8");

   或在web.xml中設定servlet過濾器filter(僅對POST方式有效,GET方式無效):

<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>net.vschool.web.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

更改Tomact配置文件,server.xml

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false"  URIEncoding="UTF-8">

URL處理:

<a href="TestAction.do?name=<%=java.net.URLEncoder.encode("你好","UTF-8")%>" ></a>

文件下載亂碼:

關鍵是下載時回應頭;filename要用URLEncoding進行編碼,才能進行HTTP傳輸。

response.setHeader("Content-disposition", "attachment;filename="+ URLEncoder.encode(fileName,"utf-8"));

Get方式亂碼:

String args = new String(strCn.getBytes("ISO-8859-1"),"UTF-8");

#Post方式亂碼:

##只需

request.setCharacterEncoding(" UTF-8"); 即可。

java與資料庫之間的亂碼

直接使用unicode與資料庫互動,可以在驅動的url中指定,如mysql驅動:

 jdbc:mysql://127.0.0.1:3306/database?useUnicode=true&characterEncoding=utf-8

相關學習推薦:

java基礎教學

#

以上是java物件亂碼怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn