昨天有個剛學(xué)java的師弟發(fā)了個程序給我,說死活編譯不過,老是報編碼問題,自己試了一下,也出問題了...
當(dāng)我們編輯了一個Java源文件保存時,是以操作系統(tǒng)默認(rèn)的字符編碼保存的(Windows xp默認(rèn)字符集是GBK)。當(dāng)調(diào)用javac命令時,會把源文件進(jìn)行一次編碼轉(zhuǎn)換,如果沒有指定字符集,就從操作系統(tǒng)默認(rèn)的字符集轉(zhuǎn)換成Java內(nèi)部默認(rèn)的unicode字符集,然后再將源文件編譯成class文件,并且以unicode的編碼形式保存到硬盤上。
仔細(xì)查看了一下錯誤,才發(fā)現(xiàn)是文件編碼的問題,他的文件用的是UTF-8編碼的,于是加了-encoding編譯成功~~
public class Test { public static void main(String[] args) { System.out.println("你好!"); }}D:/>javac Test.java