2015-04-08 68 views
1

我有一个android应用程序在Android工作室从eclipse导入。 除了android模块之外,该项目还包含java模块。字符从子模块字符集错误在Android工作室

java模块处理charsets错误,android模块确实正确。 我在一个活动以及在一个子模块类实现此方法:

public String getUmlaute() { 
    return "öäüßÖÄÜ " + Charset.defaultCharset(); 
} 

submoduleClass.getUmlaute() + "--" + getUmlaute(); 

返回

öäüßÖÄÜ java.nio.charset.CharsetICU[UTF-8] -- öäüßÖÄÜ java.nio.charset.CharsetICU[UTF-8] 

所有的文件被UTF-8编码的原因的。 Android Studio以及记事本++证实了这一点以及这些字母的正确性。

的Android工作室设置Android Studio Settings

我都尝试,清除子项目默认编码并将其设置为UTF-8。没有不同。

这里怎么回事?有没有编码选项丢失?

+0

好的,我想创建一个bug报告。我创建了一个新的Android项目,在其中创建了一个Java模块,这个应用程序显示了相同的行为。 –

+0

Bugreport:https://code.google.com/p/android/issues/detail?id=163547 –

+0

这个问题在我的linux机器上不存在。不幸的是,我不得不在工作中使用窗户。任何想法如何解决这个问题? –

回答

2

终于解决了,但我们修了。 我加

compileJava.options.encoding = 'UTF-8' 

到每一个Java的build.gradle文件。

我加

android { 
    compileOptions.encoding = "UTF-8" 

到Android的build.gradle文件。

在“设置” - >文件编码中,我将Java模块的默认编码设置为windows-1252。

这样做。 这些文件仍然utf-8

也许它的Windows文件系统问题。顺便说一句,这是NTFS。