Передача строк utf-8 между php и javascript - PullRequest
3 голосов
/ 15 февраля 2010

У меня проблемы с передачей строк utf-8 в javascript (ajax). В настоящее время я использую rawurlencode на стороне PHP и unescape на стороне JavaScript.

Проблема в латинице, и rawurlencode не поддерживает ее полностью.

Есть ли альтернатива или лучший вариант?

Ответы [ 4 ]

2 голосов
/ 16 февраля 2010

Решение было в json_encode функциях. Проблемы прекратились, когда я добавил JSON_HEX_APOS|JSON_HEX_QUOT.

Спасибо!

1 голос
/ 16 февраля 2010

использовать json_encode в PHP и получать ответы как JSON (jQuery полезен) AJAX отправляется в UTF-8 по умолчанию, так что вам просто нужно вернуть UTF-8

php utf8_encode (data) получает строку ISO-8859-1 в качестве аргумента данных.

нужно больше предложений? Скажите, откуда Вы взяли текст;)

1 голос
/ 16 февраля 2010

Исходя из опыта, Javascript escape () (и, таким образом, unescape () ) не Unicode (UTF-8). Вместо этого используйте encodeURIComponent () и decodeURIComponent () .

Во всяком случае, как говорят документы:

Функция escape () не должна быть используется для кодирования URI.

0 голосов
/ 15 февраля 2010

Если php выполняет кодирование и js-декодирование, почему бы просто не кодировать в php, а также кодировать в js? Думаю, это не столько ответ, сколько работа вокруг.

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