Я использую этот код AJAX для отправки данных на сервер:
$.ajax({
data: postData,
type: method,
url: url,
timeout: 20000,
contentType: "application/x-www-form-urlencoded;charset=UTF-8",
error: function(jqXHR,textStatus,err){alert("Error returned from ajax call "+err);},
success: function(data,status,jqXHR){
// process response...
}
});
postData
является строка запроса со многими значениями, а method
является GET
или POST
Проблема заключается в том что при отправке строки запроса, содержащей Älypuhelimen lisävarusteet
, результат в базе данных: �lypuhelimen lis�varusteet
Сопоставление соединения с базой данных utf-8, и это отлично работает, когда я не использую ajax для публикации и сохранения в базе данных ... Это определенно ajax, который испортил кодировку ...
Я также пробовал использовать функцию encodeURIComponent() на данные, и она становится %C4lypuhelimen%20lis%E4varusteet
, если я использую его ... то же самое касается функции побега() ...
любая помощь будет оценена ...
Извините, ребята! Проблема заключалась в том, что данные post сами ... postData анализировалась функцией, которая использовала escape() для url, чтобы избежать всех переменных запроса ... используя encodeURIComponent() вместо escape() исправил проблему ... –