Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将字符串转换为unicode作为maven构建的一部分_Java_Maven_Unicode_Build - Fatal编程技术网

Java 将字符串转换为unicode作为maven构建的一部分

Java 将字符串转换为unicode作为maven构建的一部分,java,maven,unicode,build,Java,Maven,Unicode,Build,我有一些本地化资源文件,例如messages_.es.properties,需要使用unicode才能在浏览器中正确显示。为了避免存储unicode和非unicode*版本的资源文件,我想在maven构建中加入一个转换为unicode任务。有什么简单的方法/工具可以做到这一点吗 实例 label.button.loadMoreImages=CARGAR MÁS IMÁGENES->label.button.loadMoreImages=CARGAR M&193;S IM&193;基因 *当文本发

我有一些本地化资源文件,例如messages_.es.properties,需要使用unicode才能在浏览器中正确显示。为了避免存储unicode和非unicode*版本的资源文件,我想在maven构建中加入一个转换为unicode任务。有什么简单的方法/工具可以做到这一点吗

实例 label.button.loadMoreImages=CARGAR MÁS IMÁGENES->label.button.loadMoreImages=CARGAR M&193;S IM&193;基因


*当文本发生变化并需要重新翻译时,使用起来要容易得多

有两个简单的ant任务可以将本机转换为ascii并返回,可以像这样安排为目标

  <target name="native2ascii">
    <delete dir="${classes.dir}/resources" includes="*.properties" />
    <native2ascii encoding="cp1252" src="${source.dir}/resources" dest="${classes.dir}/resources" includes="*.properties" />
  </target>

  <target name="ascii2native">
    <native2ascii  encoding="cp1252" src="${classes.dir}/resources" dest="${resources.dir}"  includes="*.properties" reverse="true"/>
  </target>

这将很容易适应您的环境。

您的要求非常具体,我怀疑您是否能找到一个工具来做您想要的事情。考虑一下,

首先,必须获取属性文件并解码数据。属性文件通常存储在ISO 8859-1中,但也可以通过提供InputStreamReader来保存


接下来,您要枚举和XML转义非ASCII值。提供了一种类型,用于在您不想自己滚动的情况下执行此操作。

也许这会有所帮助:如果您的翻译人员使用正确的属性文件编辑器,可能会更好。@McDowell-我无法控制不幸的是,属性文件需要在ISO-8859-1中编码,因此,Srhys的示例实际上是一个正确的属性文件。下面的字符\u0100不需要转义。1海报使用Maven,尽管我意识到可以使用其他字符中的一个。2目标必须生成XML转义;不是Java Unicode转义。@McDowell 1它不能集成到maven中吗?2 OP要求转换为unicode。