我的应用程序使用标签进行国际化。
在所有页面中,重音字符显示为unicodes。如,
à ---> \u00E0
我不知道哪个问题可能出现,我无法找到有关此主题的任何有用文档:我只找到http://forum.zkoss.org/question/14643/internationalization-accent-characters/?answer=101862#post-id-101862,但所有建议的链接都已消失。
使用Eclipse ResourceBundle Editor编辑属性文件,该编辑器将重音字母保存为unicode:我不知道为什么重音字符呈现为\ uXXXX。
提前感谢您的合作。
答案 0 :(得分:1)
最后我解决了这个问题。
这只是一个编码问题,正如chillworld和其他论坛中的其他人所说的那样(感谢你以正确的方式驾驶我!)。
我必须实施多项技巧才能让我的应用程序正常运行:
将.properties
个文件重命名为.labels
:这是因为Eclipse假定所有属性文件都是ISO-8859-1编码的,如果您想确保它保留了您的编码,那么重命名它。最重要的是,确保文件是UTF-8编码的(在文件上右键单击Eclipse,单击'属性',编码在最后一行)。要修改编码,您可以使用外部编辑器(SublimeText,UltraEdit,Geany,gedit,...)或在Eclipse中转到Edit->Set Encoding
并选择UTF-8。
避免使用ResourceBundle Editor eclipse插件或其他属性编辑器(如JBoss Properties Editor):问题是它们会自动将重音字母转换为转义的unicode序列,因为它们假定属性文件是ISO-8859-1编码。
将所有出现的unicode序列替换为相应的字符(例如,将\u00E0
替换为à
,依此类推......)。
最后,重新启动Tomcat:它应该可以工作。
答案 1 :(得分:0)
你有没有费心检查ZK的I18N文件?
以下是它的前三行:
# “字符集= UTF-8”
#CIED于2006年9月21日,由JérômeVerrereau执导 #Copyright(C)2006 Potix Corporation
如您所见,它保存为UTF-8而不是unicode,因此请尝试使用UTF-8作为编码。