6.7Google进修乱码
$ g; T5 z$ N( h2 ~ http://www.google.cn/search?hl=zh-CN&newwindow=1&q=进修
& C* q" |9 g* {% K+ b. V6 T' @0 d3 e/ { 呈锨氚搽。$ w1 n- T3 Q! w. W; C/ k
6.8 java 编译时的乱码0 ?9 f, B0 k2 p2 w# i
对于不是平台默认编码的情形下,java源文件在编译时,需要指定源文件的编码,否则无法正常编译。. X, N. R' K+ b" p; R0 l2 W. j
1、对于win下默认的GBK编码" X, I0 K4 X7 P
C:\》javac SqlUtility.java
7 R! @' }+ q5 f2 ~# }. z C:\》javac -encoding GBK SqlUtility.java
7 s; ^. s3 H. q6 `. B. ` C:\》javac -encoding utf-8 SqlUtility.java$ z1 z/ c1 V" T7 {6 i
14# T' o. ] h4 `) k
SqlUtility.java:24: 警告:编码 utf-8 的不成映射字符
% ?( e3 }8 Y9 t6 N; \% W. D2 ` * ????????????????) v% ?6 O- g% u5 n
^/ V1 l) J8 i. k
2、对于unicode的默认是utf-16
$ u* _# e, R9 d9 P C:\》javac SqlUtility.java3 K: @6 I+ f; u4 C4 T! M
SqlUtility.java:38: 犯警字符: \0
8 o/ e& u" x/ _# o C:\》javac -encoding utf-16 SqlUtility.java! w6 \; S* {2 H. y- R$ K
3、对于utf-8的编码,win下需要删除文件头的二进制编码EFBBBF(因为它是由Unicode尺度的FEFF,为了保证字节序而存在),并不是, A1 K; _1 E0 d6 x
C:\》javac SqlUtility.java1 A1 i+ N% i7 I1 ]/ S, w
SqlUtility.java:1: 警告:编码 GBK 的不成映射字符. G8 d" j; {7 v& O3 p- y
锘?**
) J4 V0 S* l% F# A7 K. h) @ ^
9 g9 z- o, c$ x: H0 {' ]0 i SqlUtility.java:1: 犯警字符: \655333 K: K3 F( d! F( a5 Y" G
锘?**
5 F; ]( ^" m( W7 h8 r( I ^8 s% G7 G+ y% E# l! d9 L g
1 错误& [) o, H& W7 v( j: U
1 警告4 Z3 F$ O3 {. I3 d- H0 z, K+ g
C:\》javac -encoding utf-16 SqlUtility.java
) x* ]9 ?# w0 T1 Z0 Q: v SqlUtility.java:1: 犯警字符: \61371
Q' Q8 S7 \: P3 g6 e! U9 v C:\》javac -encoding utf-8 SqlUtility.java7 X4 S7 b7 z a: p$ O
SqlUtility.java:1: 犯警字符: \65279' x' J; O9 o) J
?/**
4 C0 l% V; d+ c0 s1 V ^
$ P# p0 k/ b# f4 U7 s7 @4 j) Z% ]2 z7 l 1 错误5 r# S1 o# E' c" p" n4 k/ A8 `
注:删除EFBBBF之后的
" p, g3 K1 _3 z) z* H4 c C:\》javac -encoding utf-8 SqlUtility.java |