Как заставить jscon_encode работать с многобайтовыми символами? - PullRequest
0 голосов
/ 07 октября 2009
echo '<a title=' .json_encode("按时间先后进行排序") . '>test</a>';

Выше приведено что-то вроде "\ u6309 \ u65f6 \ u95f4 \ u5148 \ u540e \ u8fdb \ u884c \ u6392 \ u5e8f" и это беспорядок!

Ответы [ 3 ]

2 голосов
/ 07 октября 2009

Значение атрибута title не обрабатывается как JavaScript. Используйте json_encode только для преобразования типа PHP в выражение JavaScript / JSON.

Попробуйте вместо этого:

echo '<a title="按时间先后进行排序">test</a>';

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

2 голосов
/ 07 октября 2009

Нет, это JSON. Кодировщики JSON могут свободно копировать символы «как есть» (за исключением двойных кавычек, обратной косой черты или управляющих символов) или кодировать их, используя нотацию \uxxxx. Таким образом, даже несмотря на то, что вышеупомянутое не красиво, это допустимый JSON и гарантирует, что строка будет декодирована правильно.

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