Вероятно, будет достаточно использовать функцию JavaScript encodeURIComponent
.
Если вы не добавляете руководство к параметрам в URL, например, myUrl + '?param1=' + param1 + '¶m2' + param2
, но используете конструкцию myUrl + '?' + jQuery.param({param1:param1, param2:param2})
, то кодирование с учетом функции encodeURIComponent
сделает jQuery для вас. В случае, если все символы '&' и строки 'paramX =' также будут добавлены для вас.
Но лучший способ использовать параметр data
метода jQuery.ajax
. Если вы используете
jQuery.ajax({
url: myUrl,
data: {param1:param1, param2:param2},
//...
});
тогда к вашему URL будет добавлено '?param1=' + param1 + '¶m2' + param2
с соответствующей полной кодировкой от jQuery
.
Если мои советы вам не помогут, опубликуйте пример кода.
ОБНОВЛЕНО : После публикации тестовых данных стало ясно, что у вас нет проблем с запросом ajax
. Вы показываете, что данные сервера выглядят абсолютно корректно. Так что ваша проблема где-то между PHP и MYSQL. Я не работаю с этими двумя продуктами и теперь не могу вам помочь. Вероятно, информация по следующей ссылке может помочь вам строковая проблема кодировки utf-8 с PHP и MySQL? . Вы также можете попробовать
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");
Желаю вам больших успехов и быстрого решения вашей проблемы.
Привет
P.S. В вашем запросе ajax
вы можете напрямую использовать data: {"english":"<?php echo $w;?>","addwords":translated}
. Вызов jQuery.param сделает jQquery для вас, потому что тип data
не является строкой. Но это абсолютно зависит от ваших проблем.