【Java】CMD编译Java源码遇到\ufeff问题的解决方法
生活随笔
收集整理的這篇文章主要介紹了
【Java】CMD编译Java源码遇到\ufeff问题的解决方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
記事本支持保存的四種編碼
UTF-8文件的CMD編譯
我們把一個記事本寫的、UTF-8編碼的.java文件放在cmd下使用javac命令編譯:
確實亂碼,因為人家支持的默認CHCP是936:
這是簡體中文,Unicode(UTF-8)是650001。
| 437 | 美國 |
| 708 | 阿拉伯文(ASMO 708) |
| 720 | 阿拉伯文(DOS) |
| 850 | 多語言(拉丁文 I) |
| 852 | 中歐(DOS) - 斯拉夫語(拉丁文 II) |
| 855 | 西里爾文(俄語) |
| 857 | 土耳其語 |
| 860 | 葡萄牙語 |
| 861 | 冰島語 |
| 862 | 希伯來文(DOS) |
| 863 | 加拿大 - 法語 |
| 865 | 日耳曼語 |
| 866 | 俄語 - 西里爾文(DOS) |
| 869 | 現代希臘語 |
| 874 | 泰文(Windows) |
| 932 | 日文(Shift-JIS) |
| 936 | 中國 - 簡體中文(GB2312) |
| 949 | 韓文 |
| 950 | 繁體中文(Big5) |
| 1200 | Unicode |
| 1201 | Unicode (Big-Endian) |
| 1250 | 中歐(Windows) |
| 1251 | 西里爾文(Windows) |
| 1252 | 西歐(Windows) |
| 1253 | 希臘文(Windows) |
| 1254 | 土耳其文(Windows) |
| 1255 | 希伯來文(Windows) |
| 1256 | 阿拉伯文(Windows) |
| 1257 | 波羅的海文(Windows) |
| 1258 | 越南文(Windows) |
| 20866 | 西里爾文(KOI8-R) |
| 21866 | 西里爾文(KOI8-U) |
| 28592 | 中歐(ISO) |
| 28593 | 拉丁文 3 (ISO) |
| 28594 | 波羅的海文(ISO) |
| 28595 | 西里爾文(ISO) |
| 28596 | 阿拉伯文(ISO) |
| 28597 | 希臘文(ISO) |
| 28598 | 希伯來文(ISO-Visual) |
| 38598 | 希伯來文(ISO-Logical) |
| 50000 | 用戶定義的 |
| 50001 | 自動選擇 |
| 50220 | 日文(JIS) |
| 50221 | 日文(JIS-允許一個字節的片假名) |
| 50222 | 日文(JIS-允許一個字節的片假名 - SO/SI) |
| 50225 | 韓文(ISO) |
| 50932 | 日文(自動選擇) |
| 50949 | 韓文(自動選擇) |
| 51932 | 日文(EUC) |
| 51949 | 韓文(EUC) |
| 52936 | 簡體中文(HZ) |
| 65001 | Unicode (UTF-8) |
使用-encoding utf8編譯
竟不能成功?
在網上搜了搜\ufeff,意思差不多,都是說到了utf-8與utf-8-sig編碼的問題。感興趣的可以閱讀下面的文章,作者在PyCharm使用中遇到了這樣的問題,看他是怎么處理的:推薦閱讀
但這并不能解決我們的問題。
我在網上搜了cmd、\ufeff、utf-8-sig相關,沒有相關的解決方案。
我就試了試把-encoding utf8改成-encoding utf8sig,并不行,似乎cmd并不支持這種編碼。
解決辦法
如果不幸碰到了,那就換成ANSI或者Unicode吧,我都試過,絕對OK……
或者就用IDE吧……
未解之謎
CMD到底能不能支持utf-8-sig編碼呢?能不能處理\ufeff呢?
網上沒搜到,如果讀者有知道的還請不吝賜教!
總結
以上是生活随笔為你收集整理的【Java】CMD编译Java源码遇到\ufeff问题的解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【MySQL】基于MySQL的SQL增删
- 下一篇: 南蛮图腾(洛谷P1498题题解,Java