У меня есть веб-приложение (UTF-8), в котором для отправки на сервер можно использовать следующую команду
áéíóú
àèìòù
ÀÈÌÒÙ
ÁÉÍÓÚ
Ok. Для отправки данных я использую что-то вроде следующего:
// Notice $("#myForm").serialize()
$.get("/path?", $("#myForm").serialize(), function(response) {
});
Когда я вижу свой recordSet, я получаю (кодировка charSet базы данных - UTF-8)
áéÃóú
à èìòù
ÃÉÃÃ"Ú
ÀÈÌÒÙ
Даже при использовании $.post я получаю тот же набор результатов
После просмотра метода serialize() в JQuery в книге действий:
Создает правильно отформатированную и закодированную строку запроса из всех успешных элементов формы в завернутом наборе
Но, как показано выше, он не работает нормально. Поэтому вместо метода serialize() я использую
var objectArray = $("#myForm").serializeArray();
var queryString = "";
for(var i = 0; i < objectArray.length; i++) {
queryString += "&" + objectArray[i]["name"] + "=" + objectArray[i]["value"];
}
$.get("/path?" + queryString, null, function(response) {
});
Теперь я получаю в базе данных
áéíóú
àèìòù
ÀÈÌÒÙ
ÁÉÍÓÚ
Итак, я что-то теряю при использовании метода serialize()? Почему метод serialize() работает не так, как ожидалось?