① 用java直接讀取zip類型的文件時中文亂碼問題怎麼解決
1.一般是軟體程序解碼錯誤。如瀏覽器把GBK碼當成是Big5碼顯示,或電子郵件程序把對方傳來的郵件錯誤解碼。如果在發送時編碼錯誤,收件者的電郵程序是不能解碼的,需要寄件者的電郵程序重新編碼再寄。
2.字體檔案(font file)不對。
3.來源編碼錯誤,或文件受到破壞。
4.一種語言版本的操作系統安裝了另外一種語言版本的應用程序,或者應用程序安裝的升級補丁的語言版本與應用程序原來安裝的語言版本不一致。
5.早期單位元組的應用程序在打開雙位元組語言的文件時不能正確識別文字的分割,在換行的地方把一個字從中分成兩段,導致緊接在後面的整個一行全部都是亂碼。
6.低版本的應用程序不能識別高版本的程序創建的文件。
7.由於TXD等修改文件出現內部沖突,一些修改游戲的MOD(modification)CLEO、IV補丁、真實補丁、技能補丁、升級補丁和CCI人物補丁等游戲修改軟體的「Readme」「必看!」等閱讀文件會出現亂碼。
② java中的編碼(好睏惑) 請教高手!
我看你還是不太明白一個問題
什麼是pageEncoding? ------指頁面編碼,當前整個也面的編碼方式。
request.getParameter() 是什麼 ,他指 傳遞參數的編碼,它和頁面編碼沒關系 ,
request.setCharacterEncoding(),response.setCharacterEncoding(),才是對傳遞參數設置的編碼。
String studentName=new String(request.getParameter("studentName").getBytes("ISO-8859-1"),"gb2312");
這是獲得 ISO-8859-1的位元組數組 通過gb2312解碼 ,這樣正常了
說明原先參數的編碼 是 ISO-8859-1 。
希望對你有所幫助 。
總結了下:3種最可能 產生亂嗎
java中,內部使用的是Unicode編碼
一 表單提交亂碼 :
1,get亂碼:
地址欄中傳中文亂碼的問題:需要設置tomcat , URIEncoding="utf-8"
或者
<%=new String(request.getParameter("name").getBytes("iso-8859-1"), "自己定")%>自己定要支持中文
2,post亂碼:
request.setCharacerEncoding("自己定")
或者
<%@page contentType="text/html;charset=utf-8"%>中的 charset=utf-8 是設置http的響應(response)中的編碼信息
二 頁面輸出中文時出現亂碼:response.setCharacterEncoding("utf-8」)
三 往資料庫寫入時出現亂碼 連接資料庫url上添加:useUnicode=true&characterEncoding=utf-8
另外不同的tomcat版本也許默認編碼不一樣 要做相應調整 。
最好的一個辦法就是 每個頁面都經過一個編碼過濾器filter .
pageEncoding我自己試了下,是也影響參數問題
等我找找他到底做什麼在給解釋,不大長用這個
主要還是自己學的不好。
③ java中用快遞100API查出來的怎麼是亂碼 有什麼辦法解決
把快遞100API源碼裡面的
String content = new String(b, 0, numRead);
String newContent = new String(b, 0, numRead, charSet);
換成new String(b, 0, numRead, "UTF-8");就不會亂碼了
④ java程序亂碼和伺服器上操作系統的編碼有關系嗎
這個路操作系統也有關系,如果沒有指定編碼,java 程序就會取系統的編碼,建議設置成UTF-8編碼。
兩種在代碼中解決亂碼的方法:
1.servlet中doGet方法:
String name = request.getParameter("name");
String name = new String(request.getParameter("name").getBytes("ISO8859-1"),"utf-8");
2.使用過濾器解決亂碼問題
在工程中新建Fliter過濾器文件
在doFliter方法中寫入如下代碼:
HttpServletRequest req = (HttpServletRequest)request;
3.在開發工具eclipse文件編碼設置:
1. 點擊windows。
2. 在列表最下點擊reference。
3. 在reference界面點擊Workspace
4. 在右邊的Tex file encoding點擊Other。
5. 選擇對應編碼即可。
6. 建議使用UTF-8編碼。