問題描述: 菜單顯示中文為亂碼,顯示一個個小方框。 原因分析: 可能的原因有一下幾種 1.Java源文件編碼字符的問題,如果使用eclipse可以查看一下java source文件的編碼方式。 2.javac編譯時的字符問題,這一個問題很容易被忽略,運行一下javac可以看到有一個encoding的參數可以設置----這一個很重要。 3.要讀取文件的編碼和讀取時的字符集設置問題,如果我們要用的字符串不是硬編碼在java源碼中,而是從資源文件中讀取時,就要注意這個問題了。 解決方案: 1.Java源文件的編碼,最好使用utf8編碼。 一般情況我們在編輯文件時默認使用的是本地系統的字符集(如GBK),所以對Java源文件要進行字符轉換或提前做好設置,對于eclipse設置 Window-->Preferences-->General-->Content Types--> Java Source File。具體操作此處不詳述。 2.javac編譯時的參數設置,增加encoding參數,如:javac -encoding utf8 Test.java 對于這一點要特別注意,eclipse的編譯器是沒有使用該參數的,我也沒找到該如何設置該參數(注意這里是編譯參數javac, 不是運行參數java或jvm, 不是run config中配置的),所以遇到這個問題的情況下不能使用eclipse來編譯了,至少在能配置javac之前是這樣。 要讀取的文件的字符編碼和讀取流編碼,對一個資源文件,我們也要設置其編碼為utf8(參照第2條,跟設置java源文件編碼是一樣的),同時在使用流讀取時也要設置流的讀取編碼(這個網上說java字符流的默認的是jvm的編碼,跟系統字符集一致)。 希望本文對讀者有所幫助,感謝閱讀本文。更多安卓技術問題歡迎加群探討:278744577,驗證碼:eec,不寫驗證不予通過喲~ |