Java认证:Java中编码以及Unicode总结(10)
6.7Google进修乱码http://www.google.cn/search?hl=zh-CN&newwindow=1&q=进修
呈锨氚搽。
6.8 java 编译时的乱码
对于不是平台默认编码的情形下,java源文件在编译时,需要指定源文件的编码,否则无法正常编译。
1、对于win下默认的GBK编码
C:\》javac SqlUtility.java
C:\》javac -encoding GBK SqlUtility.java
C:\》javac -encoding utf-8 SqlUtility.java
14
SqlUtility.java:24: 警告:编码 utf-8 的不成映射字符
* ????????????????
^
2、对于unicode的默认是utf-16
C:\》javac SqlUtility.java
SqlUtility.java:38: 犯警字符: \0
C:\》javac -encoding utf-16 SqlUtility.java
3、对于utf-8的编码,win下需要删除文件头的二进制编码EFBBBF(因为它是由Unicode尺度的FEFF,为了保证字节序而存在),并不是
C:\》javac SqlUtility.java
SqlUtility.java:1: 警告:编码 GBK 的不成映射字符
锘?**
^
SqlUtility.java:1: 犯警字符: \65533
锘?**
^
1 错误
1 警告
C:\》javac -encoding utf-16 SqlUtility.java
SqlUtility.java:1: 犯警字符: \61371
C:\》javac -encoding utf-8 SqlUtility.java
SqlUtility.java:1: 犯警字符: \65279
?/**
^
1 错误
注:删除EFBBBF之后的
C:\》javac -encoding utf-8 SqlUtility.java
页:
[1]