Discussion:
[問題] 讀入utf-8 file 會有卻會有問號出現?
(时间太久无法回复)
泰山
2007-07-25 03:33:13 UTC
Permalink
※ 引述《RichieRich (Richie)》之銘言:
: try{
: File f = new File("c:\\a.txt");
: FileInputStream fi = new FileInputStream(f);
: InputStreamReader isr = new InputStreamReader(fi,"UTF-8");
: BufferedReader br = new BufferedReader(isr);
: String line = "";
: while( (line=br.readLine())!=null){
: System.out.println(line);
: }
: }
: catch(EOFException e){
: System.out.println("End of stream");
: }
: 以上是我寫程式碼 可是text file 上有簡體讀出來卻有問號繁體是沒問題
: 請問如何改進?

印象中簡體中文好像不是UTF8八!應該是編碼抓錯,你在確定看看

,印象中好像是33..什麼的一堆數字。

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.70.172.156
Alien
2007-07-25 06:09:24 UTC
Permalink
※ 引述《hnint0926 (泰山)》之銘言:
: ※ 引述《RichieRich (Richie)》之銘言:
: : try{
: : File f = new File("c:\\a.txt");
: : FileInputStream fi = new FileInputStream(f);
: : InputStreamReader isr = new InputStreamReader(fi,"UTF-8");
: : BufferedReader br = new BufferedReader(isr);
: : String line = "";
: : while( (line=br.readLine())!=null){
: : System.out.println(line);
: : }
: : }
: : catch(EOFException e){
: : System.out.println("End of stream");
: : }
: : 以上是我寫程式碼 可是text file 上有簡體讀出來卻有問號繁體是沒問題
: : 請問如何改進?
: 印象中簡體中文好像不是UTF8八!應該是編碼抓錯,你在確定看看
: ,印象中好像是33..什麼的一堆數字。

UTF-8 是 Unicode 的一種編碼而已.
Unicode 則是有包括繁簡體甚至大量其他語言

Alien

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 202.22.246.26
泰山
2007-07-25 08:37:31 UTC
Permalink
※ 引述《adrianshum (Alien)》之銘言:
: ※ 引述《hnint0926 (泰山)》之銘言:
: : 印象中簡體中文好像不是UTF8八!應該是編碼抓錯,你在確定看看
: : ,印象中好像是33..什麼的一堆數字。
: UTF-8 是 Unicode 的一種編碼而已.
: Unicode 則是有包括繁簡體甚至大量其他語言
: Alien

不過小弟我之前寫讀檔的也是抓編碼再以編碼去讀檔,這樣比較不會出現亂碼的問題。

這是我的經驗,僅供參考。


--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.70.151.161
Alien
2007-07-25 09:28:47 UTC
Permalink
※ 引述《hnint0926 (泰山)》之銘言:
: ※ 引述《adrianshum (Alien)》之銘言:
: : UTF-8 是 Unicode 的一種編碼而已.
: : Unicode 則是有包括繁簡體甚至大量其他語言
: : Alien
: 不過小弟我之前寫讀檔的也是抓編碼再以編碼去讀檔,這樣比較不會出現亂碼的問題。
: 這是我的經驗,僅供參考。

抓編碼?...
一個 txt file, 理論上你沒有方法 "抓"
得到它裡面的內容是什麼編碼吧...
BOM 也只是 unicode 系的才有 (也不是一定會有)

不如你分享一下你怎樣 "抓編碼" ?...

Alien

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 202.22.246.26
Richie
2007-07-25 12:06:12 UTC
Permalink
※ 引述《adrianshum (Alien)》之銘言:
: ※ 引述《hnint0926 (泰山)》之銘言:
: : 不過小弟我之前寫讀檔的也是抓編碼再以編碼去讀檔,這樣比較不會出現亂碼的問題。
: : 這是我的經驗,僅供參考。
: 抓編碼?...
感謝各位大大的指導 找到原因了
原來 System.out.println(line); 可能對於unicode支援不好
會轉成系統定義codepage所以會有?號 其他應沒啥問題

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.10.40.238

Loading...