Is the file encoding configured correctly? See that "Settings | File Encodings" uses UTF-8. Printing ♠ works for me when I have IDE encoding and all files set to UTF-8. Recompiling may be needed after changing the encoding.
Android Studio中的乱码分好几种,一是IDE的不同窗口里显示乱码,如:logcat筛选框,SVN提交的注释框。二是代码里设置中文,到了真机UI上就显示的乱码,如:xxx.setText("中文")。
一、IDE乱码
Log Level 右边的过滤框明明输入的是中文,结果显示是乱码。
File > Settings > Appearance & Behavior > Appearance,将default fonts改为Microsoft YaHei(改成其它SimHei,SimSun也行,但个人觉得雅黑好看些)。
设置好了之后,立即就能看到筛选框里的中文字符了。
二、代码里中文
代码里设置中文,到了真机上TextView之类的控件上就显示为乱码,如:xxx.setText("中文")。
我现在加入的这个项目是由原来Eclipse创建的,一旦有乱码问题,同事就说把Properties里的编码改成GBK就可以了。
先不论他的对错,但他这么一改确实就不会乱码了,但由于我用的是Android Studio,那我该怎么办呢?
File > Settings > Editor > File Encodings 里Project Encoding改为UTF-8,为了统一规范,我也将其它Encoding项也设置为UTF-8了。
三、Gradle 乱码
最后,如果有朋友遇到Gradle提示中文乱码的问题,可以参考http://blog.csdn.net/sljjyy/article/details/11976099,我目前没有遇到过。
Win10系统(Mac上貌似没问题),Android Studio版本4.x,不知为何,Build Output中的中文,包括编译器提示、以及错误代码中的中文,都会显示为如下的乱码,菱形问号:
可以猜到javac在使用中文输出各种信息,这点可以通过使用gradle命令在单独打开的命令行中执行build则可以看到正确的中文输出来验证,因此尝试过用 “-Duser.language=en” 等改变jdk locale的方式来使编译器输出英文信息,但是这样虽然可以看到编译错误,但是本身代码里的中文还是会显示成乱码!
最后终于发现了问题的根源,参考这里:
https://stackoverflow.com/questions/1082343/unicode-characters-appear-as-question-marks-in-intellij-idea-console,在Android Studio的Help -> Edit Custom VM Options… 打开的配置文件中加入:
-Dconsole.encoding=UTF-8-Dfile.encoding=UTF-8
然后重启IDE,再次触发Build,即可看到完全正常的中文错误提示及源码内容显示了:
posted on 2020-10-10 20:56 与非朋仔 阅读(123) 评论(0) 编辑 收藏 举报