属性文件中的特殊字符

时间:2014-09-22 07:47:56

标签: java spring jsp properties properties-file

在我的Java / Spring网络应用程序中,我遇到了从属性文件中检索的意大利语(ò,à,è等)特殊字符的问题。

我发现了这篇文章http://docs.oracle.com/cd/E26180_01/Platform.94/ATGProgGuide/html/s1816convertingpropertiesfilestoescap01.html

但有些事情尚不清楚:在我运行文章中写的命令后,在我的控制台(Windows的CMD控制台)中,我可以读取我的属性文件“已翻译”。在它之后,我该怎么办?

我应该从Windows控制台复制文本并将其粘贴到我的属性文件中吗?它似乎不是一个“专业”的工作!

2 个答案:

答案 0 :(得分:4)

无需复制输出,您可以将其重定向到文件:

native2ascii notTranslated.properties > translated.properties

此外,如果您使用Ant构建项目,则可以使用native2ascii ant任务,例如:

<native2ascii src="srcdir" dest="srcdir" includes="**/*._properties" ext=".properties"/>

我在这里假设,项目中初始的非ASCII属性文件名为*._properties

答案 1 :(得分:0)

该键包含从第一个非空格字符开始的行中的所有字符,但不包括第一个未转义的'=',':'或除行结束符之外的空格字符。 。所有这些密钥终止字符都可以通过使用前面的反斜杠字符转义它们来包含在密钥中;例如,

\:\=

将是双字符键“:=”。可以使用\ r和\ n转义序列包含行终止符字符。跳过键后的任何空格;如果键后面的第一个非空格字符是'='或':',则忽略它,并且也会跳过后面的任何空白字符。该行上的所有剩余字符都成为相关元素字符串的一部分;如果没有剩余的字符,则该元素为空字符串“”。一旦识别出构成密钥和元素的原始字符序列,就如上所述执行转义处理。

请参阅this link以转义特殊字符,并查看this link以通过不同的UTF读取。