【问题标题】:Android Studio - "Unmappable character for encoding UTF-8"Android Studio - “用于编码 UTF-8 的不可映射字符”
【发布时间】:2015-02-15 23:50:08
【问题描述】:
在我使用 Android Studio V1.0 切换到 Mac OS X Yosemite 之前,在 Windows 中使用 Eclipse 一切正常。我将该项目作为非 Android Studio 项目导入,因为它是使用 Eclipse 创建的,导入顺利,然后 Android Studio 开始在所有文件中显示此错误:
error : unmappable character for encoding UTF-8
编辑: 直接在 Sublime Text 中打开文件显示外来字符没有错误。在 ST 的控制台中使用view.encoding(),我可以看到文件编码为Western (Windows 1252)。我去了 Android Studio 并将文件的编码更改为windows-1252,现在可以正常工作了!
有没有办法告诉 Android Studio 读取 windows-1252 中的文件,然后将它们转换为 UTF-8 以保持标准编码格式?
【问题讨论】:
标签:
android
eclipse
windows
macos
character-encoding
【解决方案1】:
将以下内容添加到build.gradle 即可解决问题:
android {
...
compileOptions.encoding = 'ISO-8859-1'
【解决方案2】:
我也遇到过这个问题。
我的问题的原因是我将一个未编码为 UTF-8 的文件从 Eclipse 复制到 Android Studio。
解决这个问题的方法是:
- 确保 Android Studio 的默认文件编码为 UTF-8:
Settings --> File Encodings,将属性文件的IDE Encoding、Project Encoding和Default encoding设置为UTF-8。
- 将您的错误文件复制到 txt 文件并删除错误文件。
- 创建一个新文件,其名称与删除的文件相同。
- 将txt文件中的内容复制到新文件中。
【解决方案3】:
对于 Android Studio 2.2,您必须在项目的 gradle 文件中添加编译选项:
安卓{
...
编译选项 {
编码“ISO-8859-1”
sourceCompatibility JavaVersion.VERSION_1_7
目标兼容性 JavaVersion.VERSION_1_7
}
}