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

問題は、2 つのエンコーディングを正しく使用する必要があることです。

  • 「日本語コンテンツ」が使用しているエンコーディングを調べる
  • ツールがそのエンコーディングを正しく使用してそのコンテンツを読み取ることを確認してください
  • ツールが UTF-8 を使用して出力ファイルをエンコードし、ヘッダーでそれを正しく宣言していることを確認してください。
于 2011-04-11T22:11:18.930 に答える
0

一番上のサンプルを見ると、その時点でのエンコーディングが既に破損しているように見えます。HTML 文字エスケープ コード(10 進数 NCR)で表される最初の「名前」属性の値。

とはいえ、2番目のサンプル(value="ÉAÉvÉäÉPÅ")と3番目のサンプル(value="アプリケーション")は、1番目のサンプルと一致しません。

HTML 文字エスケープが実際に出力されるものである場合、出力エンコーディングは ASCII またはその他のバリアントになり、値は次のようになります。

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

このサードパーティ ツールがどのように XML を出力しているかを再確認する必要があると思います。

于 2011-04-11T22:17:33.997 に答える