gpt4 book ai didi

android - 从 strings.xml 引用 gradle.properties 中的日文/中文字符串会导致未知行为

转载 作者:行者123 更新时间:2023-12-03 05:56:27 24 4
gpt4 key购买 nike

我通过以下方式从 string.xml 引用 gradle 变量:

gradle.properties

APP_NAME_JAPANESE="日本語"

构建.gradle
resValue 'string', 'APP_NAME_JAPANESE', APP_NAME_JAPANESE

字符串.xml
<string name="app_name">@string/APP_NAME_JAPANESE</string>
生成的文件 generated.xml 有以下字符串
<string name="APP_NAME_JA" translatable="false">"ã¢ãã¿ã¼ãã«ã¹"</string>
正如我们所见,字符是不可读的。

所有文件均采用 UTF-8 编码。

如果我没有将变量放在 gradle.properties 中,而是将其直接放在 build.gradle resValue 'string', 'APP_NAME_JAPANESE', "日本語" 中,一切正常。

这可能是gradle系统中的错误吗?

最佳答案

java properties根据定义,文件是 不是 UTF-8 编码,除非您明确地将它们解析为 UTF-8 文件。

默认情况下,对于超出该范围的字符,它们使用 unicode 转义符编码为 ISO-8859-1。

修复你的属性文件,一切都会像魅力一样工作。

当您使用 android 时,我猜您使用的是 Android Studio,它只是一个专门的 IntelliJ IDEA。您可以在设置中将属性文件的编码更改为 ISO-8859-1,并使用透明的 native-to-ascii 转义。这允许您在编辑器中查看 UTF-8 字形,但文件将根据需要使用 unicode 转义自动保存。或者,您可以使用 native2ascii UTF-8 编码属性文件上的工具在开始实际构建之前进行转换。但我真的建议使用大多数可以处理属性文件的工具所期望的正确编码。

关于android - 从 strings.xml 引用 gradle.properties 中的日文/中文字符串会导致未知行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44632375/

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