ZK 国际化:UNICODE 而不是重音字符
ZK internationalization: UNICODE instead of accented character
我的应用程序使用标签进行国际化。
在所有页面中,重音字符都显示为 unicode。例如,
à ---> \u00E0
我不知道哪个可能是问题所在,我找不到任何关于此主题的有用文档:我只找到 http://forum.zkoss.org/question/14643/internationalization-accent-characters/?answer=101862#post-id-101862 但所有建议的链接都已失效。
属性文件是使用 Eclipse ResourceBundle Editor 编辑的,它将重音字母保存为 unicode:我不知道为什么重音字符呈现为 \uXXXX。
在此先感谢您的合作。
你有没有检查 ZK 的 I18N 文件?
这是它的前 3 行:
#"charset=utf-8"
#Created on Sept 21, 2006, by Jérôme Vergereau
#Copyright (C) 2006 Potix Corporation
如您所见,它保存为 UTF-8 而不是 unicode,所以请尝试使用 UTF-8 作为编码。
最后我解决了这个问题。
这只是一个编码问题,正如 chillworld 和其他论坛中的其他人所说(感谢引导我走上正确的道路!)。
我必须实施多种技巧才能让我的应用程序正常工作:
将 .properties
文件重命名为 .labels
:这是因为 Eclipse 假设所有属性文件都是 ISO-8859-1 编码的,如果您想确保它保留你的编码你必须重命名它。最重要的是,确保文件是 UTF-8 编码的(在 Eclipse 中右键单击文件,单击 'Properties',编码在最后一行)。要修改编码,您可以使用外部编辑器(SublimeText、UltraEdit、Geany、gedit 等)或在 Eclipse 中转到 Edit->Set Encoding
并选择 UTF-8。
避免使用 ResourceBundle Editor eclipse 插件或其他属性编辑器(如 JBoss Properties Editor):问题是它们会自动将重音字母转换为转义的 unicode 序列,因为它们假定属性文件采用 ISO-8859-1 编码。
将所有出现的 unicode 序列替换为相应的字符(例如,将 \u00E0
替换为 à
,依此类推...)。
最后,重启Tomcat:应该可以了。
我的应用程序使用标签进行国际化。
在所有页面中,重音字符都显示为 unicode。例如,
à ---> \u00E0
我不知道哪个可能是问题所在,我找不到任何关于此主题的有用文档:我只找到 http://forum.zkoss.org/question/14643/internationalization-accent-characters/?answer=101862#post-id-101862 但所有建议的链接都已失效。
属性文件是使用 Eclipse ResourceBundle Editor 编辑的,它将重音字母保存为 unicode:我不知道为什么重音字符呈现为 \uXXXX。
在此先感谢您的合作。
你有没有检查 ZK 的 I18N 文件?
这是它的前 3 行:
#"charset=utf-8"
#Created on Sept 21, 2006, by Jérôme Vergereau
#Copyright (C) 2006 Potix Corporation
如您所见,它保存为 UTF-8 而不是 unicode,所以请尝试使用 UTF-8 作为编码。
最后我解决了这个问题。
这只是一个编码问题,正如 chillworld 和其他论坛中的其他人所说(感谢引导我走上正确的道路!)。
我必须实施多种技巧才能让我的应用程序正常工作:
将
.properties
文件重命名为.labels
:这是因为 Eclipse 假设所有属性文件都是 ISO-8859-1 编码的,如果您想确保它保留你的编码你必须重命名它。最重要的是,确保文件是 UTF-8 编码的(在 Eclipse 中右键单击文件,单击 'Properties',编码在最后一行)。要修改编码,您可以使用外部编辑器(SublimeText、UltraEdit、Geany、gedit 等)或在 Eclipse 中转到Edit->Set Encoding
并选择 UTF-8。避免使用 ResourceBundle Editor eclipse 插件或其他属性编辑器(如 JBoss Properties Editor):问题是它们会自动将重音字母转换为转义的 unicode 序列,因为它们假定属性文件采用 ISO-8859-1 编码。
将所有出现的 unicode 序列替换为相应的字符(例如,将
\u00E0
替换为à
,依此类推...)。最后,重启Tomcat:应该可以了。