一、问题的出现
用jdk编译写好的代码后出现不识别的字符,,,。
二、出现的原因
我用的开发工具是eclipse,工具默认编码格式不是UTF-8,而当我用jdk编译的时候,没有用-encoding指定源代码编码格式,而javac默认会采用我们的操作系统的编码格式,和我自己开发的编码格式产生冲突,就会出现不识别的字符(比如注释,//和一些中文字)的现象。GBK包含中文字符,而UTF-8包含全世界所有国家需要的字符,utf-8是国际编码。
三、解决办法
- javac -encoding utf-8 test.java
- java -Dfile.encoding="UTF-8" test
下面就解决源头的方法,其实很简单:在开发时,改一下eclipse就行了。
1、Windows-->Preferences-->General-->Workspace-->Text file encoding,在旁边的边框进行修改,Other的选项选择UTF-8。如下图:
2、Windows --> Preferences-->General-->Content Types 选择旁边的Text,下面的default encoding 写入UTF-8,再点击update
3、Window -> Preferences -> Web -> JSP Files 在旁边的Encoding选择ISO 10646/Unicode(UTF-8),Apply