繁体   English   中英

ZK国际化:UNICODE代替重音符号

[英]ZK internationalization: UNICODE instead of accented character

我的应用程序使用Labels进行国际化。

在所有页面中,带重音的字符均显示为unicode。 例如,

à ---> \u00E0

我不知道这可能是问题所在,并且找不到有关此主题的任何有用的文档:我只找到了http://forum.zkoss.org/question/14643/internationalization-accent-characters/?answer=101862# post-id-101862,但所有建议的链接均已消失

使用Eclipse ResourceBundle Editor编辑属性文件,该编辑器将重音字母另存为unicode:我不知道为什么重音字符呈现为\\ uXXXX。

预先感谢您的合作。

最后,我解决了这个问题。

就像chillworld和其他论坛上的其他人所说的那样,这仅仅是编码的问题 (感谢您以正确的方式驾驶我!)。

我必须实现多种技巧才能使我的应用程序正确运行:

  1. .properties文件重命名为.labels :这是因为Eclipse假定所有属性文件都是ISO-8859-1编码的,并且如果要确保它保留了编码,则必须将其重命名。 最重要的是,请确保文件是UTF-8编码的(在Eclipse中右键单击文件,单击“属性”,编码在最后一行)。 要修改编码,可以使用外部编辑器(SublimeText,UltraEdit,Geany,gedit等),或在Eclipse中转到“ Edit->Set Encoding然后选择UTF-8。

  2. 避免使用ResourceBundle Editor eclipse插件或其他属性编辑器(如JBoss Properties Editor):问题在于它们会假定属性文件是ISO-8859-1编码的,因此会自动将重音字母转换为转义的unicode序列。

  3. 用相应的字符替换所有出现的unicode序列(例如,用à替换 ,依此类推...)。

  4. 最后,重新启动Tomcat:它应该可以工作。

您是否在检查ZK的I18N文件?

这是它的前三行:

#“ charset = utf-8”
#由JérômeVergereau于2006年9月21日创建
#版权所有(C)2006 Potix Corporation

如您所见,它被保存为UTF-8而不是unicode,因此请尝试将UTF-8作为编码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM