Когда я хочу распечатать вывод jQuery AJAX, который был получен с сервера. Он не показывает правильную кодировку. То, что я хочу, это получить Š
, вместо этого я получаю ?
. Все файлы script.js
и сервер php proceed.php
сохраняются в UTF-8 и устанавливаются в UTF-8. База данных также установлена в UTF-8. Я пробовал большинство вещей. В .js
файл для AJAX:Получение неправильного вывода набора символов из AJAX
$.ajaxSetup({
url: "proceed.php", //file to procces data
ContentType : 'charset=UTF-8', // tried here
global: false,
type: "POST",
dataType: "html"
});
В .php
файл:
mysql_query("SET NAMES utf8");
$output = utf8_decode($sql_result);
Все возможные комбинации.
UPDATE: Я пробовал все предлагаемый метод во всех возможных вариантах и с их помощью, я не получаю никакого ответа от сервера. Единственный раз, когда я получаю, по крайней мере, ответное решение - с настройками, упомянутыми выше - буквально. Установка AJAX dataType: "text/html"
ни dataType: "application/html"
не помогает.
КОД: PHP
if(!empty($_POST['select_had'])){
$zem = $_POST['select_had'];
$vysledek = mysql_query("SELECT typ_hadanky, jazyk FROM hlavolam RIGHT JOIN hadanka ON hlavolam.id_hlavolamu=hadanka.id_hlavolamu WHERE zeme_puvodu='$zem'");
$out = "";
while ($zaznam = mysql_fetch_array($vysledek)) {
$zaz = $zaznam['jazyk'];
$out .= "<option>".$zaz."</option>";
}
$vys = utf8_decode($out);
echo $vys;
}
JQuery:
$("#sel_had_zem").change(function(){
var select_had = $("#sel_had_zem option:selected").text();
console.log(select_had);
$.ajax({
data:{'select_had':select_had},
success: function(data){
console.log(data);
$("#sel_had_jaz option").nextAll().remove();
$("#sel_had_jaz").append(data);
},
error: function(){
alert('No server response');
}
});
});
Попробуйте 'contentType: 'charset = utf-8'' и do'' dataType application/html'' – Kray
Я мог ошибаться, но считаю, что ваши данные неверны. Должны быть «данные: {« select_had »:« select_had »}», у вас есть только одна цитата вокруг ключа, но нет кавычек вокруг значения? @Croolman – Kray
Это не проблема – Croolman