Android Studio 中GBK中文乱码和因此无法运行程序的一些经验

来源:互联网 发布:wifi网络延迟怎么解决 编辑:程序博客网 时间:2024/06/05 07:41

参考链接:
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的错误

解决的显示的乱码问题之后,尝试运行程序,出现以下错误:
GBK文件无法运行

这是什么原因呢?不知道。

尝试解决,第一步(参考链接1):

在build.gradle中的”android”标签下添加:
android{compileOptions.encoding=”GBK”}
或者
compileOptions.encoding=”GBK”

如:

android {    compileOptions.encoding = "GBK"    compileSdkVersion 22    buildToolsVersion "23.0.3"    ...}

此时再次尝试运行,好了,得到了中文的错误原因,也算是一个进步了,如图:
编码GBK的不可映射字符

检查出错的文件,发现都是UTF-8编码方式的文件,再把它们一个一个Convert成GBK编码(参考上文)。

再次尝试运行,成功了。不清楚其中的原理,希望有知道的朋友科普一下。


0 0
原创粉丝点击