Кодировка ISO с помощью файла японского кадра - PullRequest
0 голосов
/ 12 апреля 2011

У меня есть японский контент, который конвертируется в 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».

Спасибо.

Ответы [ 2 ]

1 голос
/ 12 апреля 2011

Ваша проблема в том, что вам нужно правильно использовать две кодировки:

  • Узнайте, какую кодировку использует ваш "японский контент"
  • Убедитесь, что инструментправильно использует эту кодировку для чтения содержимого
  • Убедитесь, что инструмент использует UTF-8 для кодирования выходного файла и правильно объявляет это в своем заголовке .
0 голосов
/ 12 апреля 2011

Из самого верхнего примера может показаться, что ваша кодировка в этот момент уже повреждена. Значение для первого атрибута «Имя», представляемое с помощью escape-кодов символов HTML (десятичное NCR).

При этом 2-е сэмплы (значение = "ÉAÉvÉäÉPÅ") и 3-и сэмплы (значение = "ア プ リ ケ ー シ ョ ン") не соответствуют 1-му.

Если экранирование символов HTML действительно соответствует выходному значению, то выходной кодировкой будет ASCII или какой-либо другой вариант, и тогда значение будет:

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

Я думаю, вам нужно будет подтвердить, как этот сторонний инструмент выводит XML.

...