2011-04-11 62 views
0

我有一个日本内容正在转换为MS帮助与某种工具。问题是,第三方工具不使用UTF-8编码,并建立垃圾字符的.xml:ISO编码与日本帧文件

<param name="Name" value="&#195;&#137;A&#195;&#137;v&#195;&#137;&#195;&#164;&#195;&#137;P&#195;&#133;&#195;&#137;V&#195;&#137;&#195;&#161;&#195;&#137;&#195;&#172;&#195;&#135;&#8224;&#195;&#135;'&#195;&#135;&#195;&#139;&#195;&#135;&#195;&#152;&#195;&#133;&#501;&#195;&#135;&#195;&#039;&#195;&#135;&#195;&#039;]"> 
    <param name="Name" value="Test File"> 
    <param name="Local" value="applications.htm#Xau1044547"> 

我试图与编码玩弄,现在生产:

<param name="Name" value="ÉAÉvÉäÉPÅ"> 
    <param name="Name" value="Test"> 
    <param name="Local" value="applications.htm#Xau1044547"> 

但随着UTF-8编码(其他工具)和正确的输出应该是:

<param name="Name" value="アプリケーション"> 
    <param name="Name" value="Small Business アプリケーションの起動 "> 
    <param name="Local" value="applications1.html#wp1044548"> 

是否有任何Java API我可以用它来解码和编码文件都具有正确的输出。我不确定该工具使用了什么,但我猜测它的“ISO-8859-1”。

谢谢。

回答

1

你的问题是,你需要正确地使用编码:

  • 找出编码你的“日本的内容”使用
  • 确保工具正确使用该编码读取该内容
  • 确保该工具使用UTF-8对输出文件进行编码,并在其标头中正确声明。
+0

我希望对文件做一些后期处理并获取正确的字符。这就是为什么我一直在尝试一些Java API来编码解码文件,迄今没有任何成功。 – Sumaiya 2011-04-12 13:41:36

+0

@Sumaiya:后处理是解决编码问题的错误方法,因为修复被错误使用编码损坏的数据通常是不可能的。 – 2011-04-12 14:34:36

0

从最上面的示例中可以看出,您在那一点的编码已经损坏。第一个“Name”属性的值用HTML character escape codes(十进制NCR)表示。

这就是说,第二个样本(值=“ÉAÉVÉäÉPÅ”)和第三个样本(值=“应用程序”)与第一个不符。

如果HTML字符转义确实是输出应该是什么,然后输出编码是ASCII或其他一些变异,然后将该值是:

value="&#12450;&#12503;&#12522;&#12464;&#12540;&#12471;&#12519;&#12531;" 

我认为你将需要再次确认如何此第三方工具正在输出XML。