2011-04-11 68 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。