為什麼這篇unicode big5對照表鄉民發文收入到精華區:因為在unicode big5對照表這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者del680202 (HANA)看板java標題[問題] big5轉utf8時間Mon Mar ...
有試著爬過文,但是沒找到解法
最近要做資料傳遞
但是問題是server端是utf-8的編碼環境
而client是big5的編碼環境
現在策略是client端統一把資料轉utf-8文字傳過去
我試著估狗,但是找到的答案都是用getBytes方式去轉
可是我實際測試了儘管用getBytes去拿到utf-8文字
他也只是假性當作utf-8,骨子裡還是big5文字
請問java有沒有實際將文字編碼轉換的套件或API
可以將big5的中文字encoding成utf8的中文字
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.230.139.95
但是問題出在他仍是big5文字,只是用utf8打包的樣子
可能是source產生的時候就是big5的關係吧
假設utf8產生的中文byte array是aaa好了
big5產生的中文byte array是bbb,用getBytes("utf-8")轉之後會變成ccc
雖然ccc可以解回變成bbb,但是他不是aaa...
現在是想找一個方法可以把bbb變成aaa
※ 編輯: del680202 來自: 61.230.139.95 (03/24 22:16)
恩.....我不知道我的方法有無錯誤
我client會先用getBytes("utf-8")轉字串
用一個物件打包序列化後傳到server
之後用BufferedWriter寫到目的地
server端有指定file.encoding為utf8,不過沒效果
我在試試不用getBytes轉去丟好了
※ 編輯: del680202 來自: 61.230.139.95 (03/24 22:33)
我問題沒描寫清楚
說細一點的話
我有一隻daemon會去產生檔案是big5編碼
java client會去把那個檔案用InputStream讀進來後先轉成java字串
假設是 String str = new String(inputBytes, "big5")
這時候的str在client可以正常顯示沒問題
之後要把str丟往server了,先經過一手轉換
str = new String(str.getBytes("utf-8"))
之後server接到str用Writer寫到local
不過顯示出來就如上面講的,還得經過iconv轉回big5才能正常顯示
※ 編輯: del680202 來自: 61.230.139.95 (03/24 22:53)
設置的方式...
java -Dfile.encoding=xxx ....
我想應該是沒錯....吧
也用jinfo檢查過環境變數
※ 編輯: del680202 來自: 61.230.139.95 (03/24 22:57)