當前位置:首頁 » 編程語言 » javaget亂碼

javaget亂碼

發布時間: 2024-11-08 23:41:56

① 在java中怎樣處理中文亂碼的問題(有幾種處理方式)

讀取文件的時候如果是用的read方法(位元組流),碰到中文輸出就是亂碼,然後存儲的時候設置下編碼為GBK或者是UTF-8形式即可,可以有效的解決亂碼問題。
可以通過BufferedReader 流的形式進行流緩存,之後通過readLine方法獲取到緩存的內容。
BufferedReader bre = null;
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此時獲取到的bre就是整個文件的緩存流
while ((str = bre.readLine())!= null) // 判斷最後一行不存在,為空結束循環
{
System.out.println(str);//原樣輸出讀到的內容
};
備註: 流用完之後必須close掉,如上面的就應該是:bre.close(),否則bre流會一直存在,直到程序運行結束。
可以通過「FileOutputStream」創建文件實例,之後過「OutputStreamWriter」流的形式進行存儲,舉例:
OutputStreamWriter pw = null;//定義一個流
pw = new OutputStreamWriter(new FileOutputStream(「D:/test.txt」),"GBK");//確認流的輸出文件和編碼格式,此過程創建了「test.txt」實例
pw.write("我是要寫入到記事本文件的內容");//將要寫入文件的內容,可以多次write
pw.close();//關閉流
備註:文件流用完之後必須及時通過close方法關閉,否則會一直處於打開狀態,直至程序停止,增加系統負擔。

② 關於java中 get提交方式的亂碼問題。

這個原因是伺服器導致的,伺服器比如tomcat接收get方法默認使用的是ISO-8859-1編碼,而瀏覽器發送時文字編碼是和頁面編碼保持一致的,如果頁面是使用utf-8 編碼 get方法文字自然是使用utf-8編碼,但接收伺服器沒有設置的情況下用了ISO-8859-1編碼接收,中文自然就成亂碼了,不過由於ISO-8859-1編碼是單位元組編碼所以我們可以使用getBytes("ISO-8859-1"),"utf-8"這樣把文字重新轉換成utf-8 編碼。

第一個發送的文字是utf-8編碼 而tomcat接收後用錯誤的ISO-8859-1編碼了,這樣getBytes("ISO-8859-1")後會重新得到正確的utf-8編碼的位元組數組 ,然後用 new
String(request.getParameter("something").getBytes("ISO-8859-1"),"utf-8")重新將位元組編碼成UTF-8編碼的文字這樣文字就正確了。

如果是tomcat的話 server.xml文件里
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>
後邊的URIEncoding就是設置get方法編碼的如果沒有指定URL接收的編碼類型,自動會用ISO-8859-1編碼

③ JAVA 亂碼 根本原因是什麼

右鍵點擊亂碼文件,選preferenses,看看resource里的編碼是不是正確,虧攔搜如果不是utf-8就改成utf-8,衡或如果是utf-8的話你改成別的編碼試試看看,然後把正常狀態下的內容復制出來,在把文件改成utf-8後銷歷把文件復制進去

熱點內容
python對齊列印 發布:2024-11-09 01:46:07 瀏覽:174
編譯vbox61 發布:2024-11-09 01:42:12 瀏覽:915
超聲波存儲環境 發布:2024-11-09 01:41:33 瀏覽:284
國外訪問學者研修計劃 發布:2024-11-09 01:36:38 瀏覽:384
如何上傳動態頭像 發布:2024-11-09 01:33:52 瀏覽:935
怎麼購買雲存儲空間 發布:2024-11-09 01:23:37 瀏覽:782
如何把安卓機上的圖片備份 發布:2024-11-09 00:49:58 瀏覽:263
android分享微信 發布:2024-11-09 00:49:14 瀏覽:977
數列極限運演算法則 發布:2024-11-09 00:48:37 瀏覽:896
k線公式源碼 發布:2024-11-09 00:35:24 瀏覽:785