Как правильно экранировать международные символы в XML с кодировкой UTF-8? - PullRequest
1 голос
/ 28 октября 2011

В настоящее время у меня есть Javascript, генерирующий XML с кодировкой UTF-8, и мы столкнулись с ситуацией, когда в XML иногда присутствуют некоторые международные символы. Например:

<?xml version="1.0" encoding="UTF-8"?>
<example>
      <comments><![CDATA[Hola. Mi nombre es Pat. ¿Cómo puedo ayudarle?]]></comments>
</example>

Если оставить такие международные символы, мы получим ошибку кодирования при открытии в браузере. Изменение кодировки XML на стандарт ISO разрешает проблему, но мы обеспокоены тем, что получатели XML не смогут правильно прочитать его, если кодировка будет другой. В настоящее время наше решение состоит в том, чтобы esacpe этих символов, например, так:

<?xml version="1.0" encoding="UTF-8"?>
<example>
    <comments><![CDATA[Hola. Mi nombre es Pat. &#191;C&#243;mo puedo ayudarle?]]></comments>
</example>

Мои вопросы: правильный ли это способ убежать от этих персонажей?

1 Ответ

2 голосов
/ 28 октября 2011

вы пишете, что Javascript генерирует XML с кодировкой UTF-8.Как ты это делаешь?

Проверяли ли вы, что полученный файл действительно имеет кодировку UTF-8?Я в чем-то сомневаюсь - если бы это было у тебя, не было бы никаких проблем, верно?Я предполагаю, что вы указываете кодировку в файле XML как encoding = "UTF-8", но кодировка файлов не совсем UTF-8.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...