0

我有一个日文内容,正在使用某个工具转换为 MS 帮助。问题是第三方工具没有使用 utf-8 编码,而是创建了一个带有垃圾字符的 .xml:

    <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”。

谢谢。

4

2 回答 2

1

您的问题是您需要正确使用两种编码:

  • 找出您的“日语内容”使用什么编码
  • 确保该工具正确使用该编码来读取该内容
  • 确保该工具使用 UTF-8 对输出文件进行编码,并在其 header 中正确声明
于 2011-04-11T22:11:18.930 回答
0

从最上面的样本中可以看出,您此时的编码已经损坏。第一个“名称”属性的值用HTML 字符转义码(十进制 NCR)表示。

话虽如此,第二个样本(value="ÉAÉvÉäÉPÅ")和第三个样本(value="アプリケーション")与第一个不匹配。

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

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

我认为您需要重新确认此第 3 方工具如何输出 XML。

于 2011-04-11T22:17:33.997 回答