android 开发MenuItem显示中文乱码

2013年09月03日 15:15    发布者:reggae
问题描述:
菜单显示中文为乱码,显示一个个小方框。
原因分析:
可能的原因有一下几种
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,不写验证不予通过哟~