Код jQuery не передает специальные символы должным образом - PullRequest
0 голосов
/ 24 июня 2011

У меня есть сайт, который использует плагин jQuery jEditable (встроенное редактирование через AJAX).Дело в том, что если вы вводите что-то вроде «Entrées» (это для редактирования меню ресторана, поэтому такой ввод следует ожидать), PHP-скрипт AJAX, который получает значение, вместо этого получает «Entrà © es».Как я могу убедиться, что отправляемое значение отправлено правильно?

Что еще более странно, это то, что значение базы данных хранится как «Entrés», но при отображении на веб-странице оно отображает «Entrées» правильно.

Ответы [ 3 ]

1 голос
/ 24 июня 2011

Убедитесь, что не только форма, где вводится текст, но и страница, где он отображается, использует кодировку UTF8. Если ваше «тестирование» для просмотра полученного сообщения является простым echo ...; exit;, вероятно, эта страница не отображается как UTF8.

0 голосов
/ 24 июня 2011

Думаю, я решил проблему.Использование escape () вместо encodeURI () работало правильно.Кто-нибудь знает, почему это будет?

escape () вернуло: Entr% E9es

encodeURI () вернуло: Entr% C3% A9es

Очень странно.

0 голосов
/ 24 июня 2011

Вы должны использовать функцию javascript encodeURI () в вашей строке перед отправкой.

...