Re: [問題] 關於java抓中文變亂碼

看板java作者 (sbr)時間16年前 (2009/09/13 23:18), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《WSzc (WSzc)》之銘言: : 不好意思請問一下 : 就是我現在有一個中文檔案 想寫個程式抓裡頭的東西 : 可是我怎麼抓 印出來中文就會變成亂碼 英文正常 : 同樣的檔案我用C/C++印也是正常的 : 我是這樣寫 : FileReader f = new FileReader(myFile); : BufferReader b = new BufferedReader(f); : while( (data = b.readLine())!=null ) : { : System.out.println(data); : } : 如果有一行是 我abc : 就會印成類似 *)abc 的東西 : 是不是可能是平台問題呢? : 因為我在之前的工作站是可以正常印中文的 : 可是現在這個工作站連 System.out.println("中文"); 也都是印出亂碼 : 翻了前面文章還有網路 找不太到解決方法 : 有人可以幫忙嗎 謝謝 先確定你要讀取的檔案是使用哪一種編碼,然後: 1. 修改程式使用正確(對應)的編碼 BufferedReader b = new BufferedReader(new InputStreamReader( theFile, "theEncoding")); 為了避免輸出到 console 時被轉碼過(如果 console 使用的編碼無法處理程式輸出 的字串會發生失真的現象),最好是透過 GUI 元件來呈現讀取到的字串,或是以 UTF-8 編碼輸出到另一檔案裡,然後由 browser 來瀏覽檔案內容(browser 必須選擇 以 UTF-8 編碼解讀檔案內容)。 2. 變更 JRE 預設的編碼。 在啟動你的 Java application 時指定 "file.encoding" property value java -Dfile.encoding="theEncoding" MyProgram -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.173.136.1

09/14 13:38, , 1F
感謝您 可以了!!
09/14 13:38, 1F
文章代碼(AID): #1AhGrGwQ (java)
文章代碼(AID): #1AhGrGwQ (java)