gpt4 book ai didi

更新到 Java 8 后,Android 以错误的编码显示文本

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:06:16 26 4
gpt4 key购买 nike

我已将我的项目更新为 SDK 版本 24 和 Java 8,但遇到了一个奇怪的编码问题。

由于某些奇怪的原因,Android 将我的硬编码 UTF-8 字符串视为 Windows-1251,因此文本出现乱码。

像这样:

enter image description here

这是我改变的:

compileSdkVersion 24
buildToolsVersion "24.0.2"

compileOptions {
encoding = 'utf-8'
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}

以及我尝试过的:

  • 更改了 Android Studio 设置中的编码
  • 添加了 compileOptions.encoding = 'windows-1251' 和 compileOptions.encoding= 'utf-8'
  • 添加系统变量 JAVA_TOOL_OPTIONS:-Dfile.encoding=UTF8

如果我恢复到 Java 7 一切正常。

有什么想法吗?

最佳答案

这是 Jack 编译器中的一个错误,看看这个 post .

Jack 一直在使用默认的 VM 编码,在 Windows 上是 windows-1252。因此,您的文本由 Jack 编译器使用 UTF-8 编码并使用 windows-1252 解码,这就是它们变成乱码的原因。

目前Gradle Plugin不支持设置解码格式的API,所以我们需要等待...

关于更新到 Java 8 后,Android 以错误的编码显示文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39514276/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com