運行java帶有中文的代碼就出現(xiàn)亂碼,解決方式如下:
10年積累的成都網(wǎng)站制作、做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有清澗免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
設(shè)置整個java工程的編碼格式為utf-8,如下圖:
設(shè)置html的編碼格式為utf-8
看你編譯沒問題,運行時報亂碼錯誤。說明是代碼的編碼跟DOS系統(tǒng)的編碼不一致。
DOS系統(tǒng)是ASCII碼,你看一下你代碼的編碼是什么,應(yīng)該不是ASCII碼,你把你的代碼編碼轉(zhuǎn)換成ASCII碼試試先,不行再轉(zhuǎn)成UTF-8試試,這樣應(yīng)該就解決了(如果是編碼不一致的問題的話)
讀取文件的時候如果是用的read方法(字節(jié)流),碰到中文輸出就是亂碼,然后存儲的時候設(shè)置下編碼為GBK或者是UTF-8形式即可,可以有效的解決亂碼問題。
可以通過BufferedReader 流的形式進行流緩存,之后通過readLine方法獲取到緩存的內(nèi)容。
BufferedReader bre = null;
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此時獲取到的bre就是整個文件的緩存流
while ((str = bre.readLine())!= null) // 判斷最后一行不存在,為空結(jié)束循環(huán)
{
System.out.println(str);//原樣輸出讀到的內(nèi)容
};
備注: 流用完之后必須close掉,如上面的就應(yīng)該是:bre.close(),否則bre流會一直存在,直到程序運行結(jié)束。
可以通過“FileOutputStream”創(chuàng)建文件實例,之后過“OutputStreamWriter”流的形式進行存儲,舉例:
OutputStreamWriter pw = null;//定義一個流
pw = new OutputStreamWriter(new FileOutputStream(“D:/test.txt”),"GBK");//確認流的輸出文件和編碼格式,此過程創(chuàng)建了“test.txt”實例
pw.write("我是要寫入到記事本文件的內(nèi)容");//將要寫入文件的內(nèi)容,可以多次write
pw.close();//關(guān)閉流
備注:文件流用完之后必須及時通過close方法關(guān)閉,否則會一直處于打開狀態(tài),直至程序停止,增加系統(tǒng)負擔(dān)。
解決亂碼問題:可以修改eclipse里的編碼格式來解決亂碼問題:
1、window-- Preference
2、點擊General--Workspace,在右面的窗體找到“Text file encoding”,就可以修改編碼格式了
當(dāng)前名稱:java代碼處理亂碼,java運行出來亂碼
文章鏈接:http://chinadenli.net/article10/heeigo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、品牌網(wǎng)站制作、外貿(mào)建站、網(wǎng)站排名、虛擬主機、品牌網(wǎng)站設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)