`$ ('# form'). serialize ()` путает символы UTF-8 - PullRequest
2 голосов
/ 14 декабря 2011

Я вставляю форму с помощью AJAX и использую: $('#form').serialize(), чтобы получить все входные данные и отправить их на insert.php.

Проблема в том, что такие символы, как á становятся %A9 и т. П.

Как я могу предотвратить это перед отправкой или как получить правильные символы, когда я получаю их через $ _POST, чтобы я мог правильно вставить их в свою базу данных?

РЕДАКТИРОВАТЬ -----

Кстати: та же форма без AJAX, просто action = "POST" в ТО ЖЕ вставка вставка.*

Ответы [ 2 ]

3 голосов
/ 14 декабря 2011

Jquery serialize() сериализуется как UTF-8. Таким образом, á становится правильной кодировкой UTF-8 %c3%a1. Попробуйте использовать $_REQUEST, поскольку он уже декодирован согласно документации php. здесь

1 голос
/ 11 октября 2013

Последний шаг, который вам нужно сделать, - это декодировать ваш PHP-файл следующим образом:

$ = utf8_decode Новичок ($ _ POST [ 'Номбр']);

Я использую для объединения utf8_decode () с htmlspecialchars () перед отправкой данных в базу данных:

$ nombres = utf8_decode (htmlspecialchars ($ _ POST ['nombres']));

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