Android应用程序显示不正确的西班牙语重音字符
我有一个通过资源使用i18n的当前Android应用程序。res/values-es/strings.xml等。当我在一台语言设置为Espanol的设备上测试它时,它会从值es文件中提取正确的资源,但是重音字符非常不正常 例如,我想使用带有重音(ó)的小写o。我试过使用strings.xml文件中的实际字符(使用Ubuntu上的字符映射创建字符串)和实体,无论哪种情况,结果都像我不认识的其他字符集重音一样: 当使用许多不同的文本编辑器时,strings.xml中的相同字符看起来非常完美。并且该文件是UTF-8(尝试在Eclipse中使用Android“向导”工具重新创建它以确保) strings.xmlAndroid应用程序显示不正确的西班牙语重音字符,android,internationalization,Android,Internationalization,我有一个通过资源使用i18n的当前Android应用程序。res/values-es/strings.xml等。当我在一台语言设置为Espanol的设备上测试它时,它会从值es文件中提取正确的资源,但是重音字符非常不正常 例如,我想使用带有重音(ó)的小写o。我试过使用strings.xml文件中的实际字符(使用Ubuntu上的字符映射创建字符串)和实体,无论哪种情况,结果都像我不认识的其他字符集重音一样: 当使用许多不同的文本编辑器时,strings.xml中的相同字符看起来非常完美。并且该
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="label_app_version">Versión</string>
</resources>
维西翁
现在,我在其他Android应用程序中使用过法语和德语,带有各种口音,但我没有看到这个问题,所以我现在完全感到困惑。这次我做错了什么 检查实际strings.xml文件的存储方式 在Eclipse的文件树中,右键单击strings.xml文件并选择properties 您将获得该文件的属性对话框 如果尚未选择,请选择左列中的“资源”行 检查底部的“文本文件编码”区域。 它可以选择为“默认”或选择特定编码,如“UTF-8” 选择UTF-8选项。保存文件。清理并构建项目(以重新生成资源),然后查看是否有任何更改 见附件截图
Suerte,Andrew检查实际strings.xml文件的存储方式 在Eclipse的文件树中,右键单击strings.xml文件并选择properties 您将获得该文件的属性对话框 如果尚未选择,请选择左列中的“资源”行 检查底部的“文本文件编码”区域。 它可以选择为“默认”或选择特定编码,如“UTF-8” 选择UTF-8选项。保存文件。清理并构建项目(以重新生成资源),然后查看是否有任何更改 见附件截图
安德鲁·苏尔特(Suerte,Andrew)说,变音符号实际上被称为短音符,在许多东欧语言中很常见。我以前也有过同样的问题。我甚至有一个问题。既然没有人解决这个问题,那就值得一试 我还不清楚:
\u00f3
,而不是“ó”(这里在PT中使用相同的)。例如:Versi\u00f3n
。你有正确的带锐音符的拉丁文小o吗?只是为了澄清一些事情ant
($ant release
)构建应用程序。报告结果致以最良好的祝愿 这种变音符号实际上被称为短音符,在许多东欧语言中很常见。我以前也有过同样的问题。我甚至有一个问题。既然没有人解决这个问题,那就值得一试 我还不清楚:
\u00f3
,而不是“ó”(这里在PT中使用相同的)。例如:Versi\u00f3n
。你有正确的带锐音符的拉丁文小o吗?只是为了澄清一些事情ant
($ant release
)构建应用程序。报告结果致以最良好的祝愿 这很奇怪,因为它不应该引起问题。也许您应该尝试将字符串嵌入CDATA部分,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="label_app_version"><![CDATA[Versión]]></string>
</resources>
这很奇怪,因为它不应该引起问题。也许您应该尝试将字符串嵌入CDATA部分,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="label_app_version"><![CDATA[Versión]]></string>
</resources>
我终于解决了这个问题。我在代码前面使用了字体并调用了setTypeface。我使用的字体不能有其他语言所需的特殊字符。在设置字体之前,我需要检查以确保我的用户正在使用我的字体支持的区域设置 我应该意识到这一点,并早点检查
因此,底线是,如果您在不同地区的某些字符中得到奇怪的结果,请确保您没有使用不支持这些字符的字体。退回到不使用字体(不要调用setTypeface)并以这种方式进行测试 我终于解决了这个问题。我在代码前面使用了字体并调用了setTypeface。我使用的字体不能有其他语言所需的特殊字符。在设置字体之前,我需要检查以确保我的用户正在使用我的字体支持的区域设置 我应该意识到这一点,并早点检查 因此,底线是,如果您在不同地区的某些字符中得到奇怪的结果,请确保您没有使用不支持这些字符的字体。退回到不使用字体(不要调用setTypeface)并以这种方式进行测试 它是在“Default(由内容决定):UTF-8”上,我把它改成了其他UTF-8,如这里所述,我得到了同样的奇怪的半圆凸起(原始问题s)