java对象乱码怎么办
生活随笔
收集整理的這篇文章主要介紹了
java对象乱码怎么办
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
java對象亂碼的解決辦法:1、文件下載亂碼時,下載響應頭,filename要用URLEncoding進行編碼,才能進行HTTP傳輸;2、java與數(shù)據(jù)庫之間的亂碼,直接使用unicode與數(shù)據(jù)庫進行交互,可以在驅(qū)動的url中指定。
java對象亂碼的解決辦法:
jsp與頁面參數(shù)之間的亂碼
強制指定request獲取編碼的方式:
request.setCharacterEncoding("UTF-8");
如果jsp輸出到頁面出現(xiàn)亂碼:
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>
文件下載亂碼:
關(guān)鍵是下載時響應頭;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與數(shù)據(jù)庫之間的亂碼
直接使用unicode與數(shù)據(jù)庫進行交互,可以在驅(qū)動的url中指定,如mysql驅(qū)動:
jdbc:mysql://127.0.0.1:3306/database?useUnicode=true&characterEncoding=utf-8
相關(guān)學習推薦:java基礎(chǔ)教程
總結(jié)
以上是生活随笔為你收集整理的java对象乱码怎么办的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 青瓜早报: 抖音、快手回应 “大胃王吃播
- 下一篇: 计算机在教学上主要应用是计算机辅助教学和