當前位置:ag真人国际官网-ag旗舰厅官方网站 » 編程語言 » javaget亂碼

javaget亂碼-ag真人国际官网

發布時間: 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文件里
connectiontimeout="20000" redirectport="8443" uriencoding="utf-8"/>
後邊的uriencoding就是設置get方法編碼的如果沒有指定url接收的編碼類型,自動會用iso-8859-1編碼

③ java 亂碼 根本原因是什麼

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

熱點內容
發布:2024-11-19 10:23:05 瀏覽:875
接龍源碼 發布:2024-11-19 10:14:48 瀏覽:33
驅動軟體哪個安卓版好 發布:2024-11-19 10:08:28 瀏覽:703
伺服器一鍵搭建java環境 發布:2024-11-19 10:08:27 瀏覽:729
布丁少兒編程 發布:2024-11-19 09:57:11 瀏覽:98
vb資料庫數組 發布:2024-11-19 09:23:40 瀏覽:828
安卓游戲數據保存在哪裡找 發布:2024-11-19 09:22:02 瀏覽:310
解壓出來的文件亂碼 發布:2024-11-19 09:15:40 瀏覽:940
北航ftp是多少 發布:2024-11-19 09:15:32 瀏覽:822
瀏覽保存密碼如何取消 發布:2024-11-19 09:10:17 瀏覽:90
网站地图