UTF-8 в XML и JSON-схеме - PullRequest
       2

UTF-8 в XML и JSON-схеме

1 голос
/ 21 ноября 2011

Я немного путаюсь с utf-8 в XML и JSON Schema

У меня есть следующий массив

$array = array(
    array('name'=>'abc', 'text'=>'اسلسصثصض صثصهخه عه☆anton & budi☆' ),
    array('name'=>'xyz', 'text'=>'nice' ),
);

, когда я конвертирую его в XML, он дает мне такой результат

<?xml version="1.0"?>
<response>
  <item>
    <name>abc</name>
    <text>&#x627;&#x633;&#x644;&#x633;&#x635;&#x62B;&#x635;&#x636; &#x635;&#x62B;&#x635;&#x647;&#x62E;&#x647; &#x639;&#x647;&#x2606;anton '&lt;&amp;&gt;' budi&#x2606;</text>
  </item>
  <item>
    <name>xyz</name>
    <text>nice</text>
  </item>
</response>

Почему результат не похож на следующий:

<?xml version="1.0"?>
<response>
  <item>
    <name>abc</name>
    <text>اسلسصثصض صثصهخه عه☆anton &amp; budi☆</text>
  </item>
  <item>
    <name>xyz</name>
    <text>nice</text>
  </item>
</response>

И когда я конвертирую его в JSON, он даст мне результат:

[
  {
    "name": "abc",
    "text": "\u0627\u0633\u0644\u0633\u0635\u062b\u0635\u0636 \u0635\u062b\u0635\u0647\u062e\u0647 \u0639\u0647\u2606anton '<&>' budi\u2606"
  },
  {
    "name": "xyz",
    "text": "nice"
  }
]

и почему не нравитсяthis:

[
  {
    "name": "abc",
    "text": "اسلسصثصض صثصهخه عه☆anton &amp; budi☆"
  },
  {
    "name": "xyz",
    "text": "nice"
  }
]

это какой-либо способ использовать символ utf-8 внутри xml или json?или это стандарт?

1 Ответ

1 голос
/ 21 ноября 2011

Это, вероятно, ради диагностики и большей вероятности правильной транспортировки - системы, как правило, довольно хорошо переносят ASCII, но многие системы не очень хорошо написаны, когда дело касается других кодировок.

Конечно, должна быть возможность правильно транспортировать закодированную форму UTF-8, но я подозреваю, что используемый вами кодер просто консервативен. Это означает, что вам не нужно, например, убедиться, что вы правильно поняли это на уровне HTTP. Главное, что он все равно даст правильный текст в целом. Это вызывает у вас какую-то реальную проблему, или вы просто удивились использованию экранирования?

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