今天在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才能让配置文件生效