参考链接:
1. android studio中文乱码各种情况的解决办法
2. Android Studio Error—Gradle: 错误:编码 GBK 的不可映射字符
1. 显示的乱码
如图:
因为文件本身是以GBK方式存储的,而AS默认以UTF-8方式显示,因此显示乱码。
解决方法也很简单,点击右下角的”UTF-8”,选择GBK,选择Load,就显示正确的文字了。
此时要想转换成UTF-8编码也很简单,点击右下角的”GBK”,选择UTF-8,选择Convert就可以了。
UTF-8转换成GBK也一样的,在能正确显示的情况下选择Convert就对了。
但是这种方式一次只能转换一个文件,以这样的方式一个一个去点击,太费劲。
AS的设置里有改变目录下所有文件的显示编码的功能,如图:
我们选择src目录,再在右侧箭头处点击,选择GBK,确定之后可以看到,所有GBK文件都显示正确了。注意这里设置的只是默认编码,而目录下的UTF-8编码的文件还是以UTF-8方式显示的,不会受到这个设置的影响。
但是我并没有找到把目录下GBK文件全部转换成UTF-8文件的方法,有朋友知道的话希望可以分享一下。
2. 因GBK文件无法运行APP的错误
解决的显示的乱码问题之后,尝试运行程序,出现以下错误:
这是什么原因呢?不知道。
尝试解决,第一步(参考链接1):
在build.gradle中的”android”标签下添加:
android{compileOptions.encoding=”GBK”}
或者
compileOptions.encoding=”GBK”
如:
android {
compileOptions.encoding = "GBK"
compileSdkVersion 22
buildToolsVersion "23.0.3"
...
}
此时再次尝试运行,好了,得到了中文的错误原因,也算是一个进步了,如图:
检查出错的文件,发现都是UTF-8编码方式的文件,再把它们一个一个Convert成GBK编码(参考上文)。
再次尝试运行,成功了。不清楚其中的原理,希望有知道的朋友科普一下。