看板 java 關於我們 聯絡資訊
我目前在寫文字探勘的程式 手邊有一個別人已經打包好的jar 但不太清楚他內部的編碼 但如果我在eclipse或netbean專案改big5跑就沒問題 所以猜測他打包時的專案是big5 改用utf8就會亂碼 但如果我用命令列的javac -encoding utf8 ... 執行java 就不會亂碼 我使用的環境是windows 想請問各位大大 java的String的預設編碼是如何決定? 是用最後編譯的class檔 還是依照jar打包時決定? 還是有其他決定? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.25.47.134
darkk6:沒記錯的話 encoding 只用在 javac (source code ) 01/20 23:27
chunhsiang:-Dfile.encoding 也可以用來設定JVM的預設編碼 01/20 23:41
adrianshum:以我所知JVM運作用的編碼與compile/jar無關。如樓上說 01/21 09:23
adrianshum:你可以傳需要的編碼,不然就跟據OS/shell env 作判斷 01/21 09:24
swpoker:JAVA還是utf8來的好阿 01/21 14:53
pcyu16:那種 big5 編碼裡面又塞全形符號的整個悲劇.. 01/21 18:22
MonyemLi:我習慣在eclipse.ini 加入 -Dfile.encoding=UTF-8 01/21 22:14