今天在Json解析的时候遇到一个问题,意外发现
Logcat 报错
竟然是一堆乱码
,隐藏了关键的报错信息
,推测应该是编码问题
(好像以前解决过),所以在解决后记录一下
感觉这个乱码问题和As版本关系不大
,最多有的版本给默认设置了UTF-8
,而有的版本没有设置,本质还是如何去设置编码格式
中文编码主要有以下四种
编码格式 | 含义 |
---|---|
GB2312 | 简体中文编码 |
BIG5 | 繁体中文编码 |
GBK | 支持简体及繁体中文 |
UTF-8 | UTF-8俗称“万国码””,可以同屏显示多语种,一个汉字占用3字节 |
GB18030 | 中文、日文、朝鲜语 |
ASCLL,ISO-8859-1 | 英语、西欧语 |
Hint:其根本解决方式均是在vmoptions
文件中加入utf-8编码
找到Android Studio
的 bin 目录
,查看 studio64.exe.vmoptions
和 studio.exe.vmoptions
studio64.exe.vmoptions
尾部加入-Dfile.encoding=UTF-8
- 针对64位操作系统的设置
studio.exe.vmoptions
尾部加入 -Dfile.encoding=UTF-8
- 针对默认操作系统的设置(按理仅设置这个即可,如无效则一起设置
)
更改Android Studio
配置后,需要重启As才能让配置文件生效
结果检验,无误
其本质和上方相同,只是通过as内置设置完成而已
Help - Edit Custom VM Options...
编辑VM的配置文件studio64.exe.vmoptions
加入 -Dfile.encoding=UTF-8
(系统应该自动识别了对应了vmoptions文件
)File - Setting - File Encodings
设置图中编码格式为 UTF-8
(不确定是否会画蛇添足,反正应该有好无坏)Android Studio
配置后,需要重启As才能让配置文件生效