Php 当数据库中存在特殊字符时,Ajax不返回结果集

Php 当数据库中存在特殊字符时,Ajax不返回结果集,php,jquery,mysql,ajax,json,Php,Jquery,Mysql,Ajax,Json,当我试图用json格式的ajax从UTF-8编码数据库获取数据时,数据包含特殊字符,如Ä,Ö,Ü,ä,ö,ü,。。。那么结果集是空的 $('.club-details').click(function() { var element = $(this); var data = { gid: $(this).parent().parent().parent().parent().data('gid'), club_number: $(this).pa

当我试图用json格式的ajax从UTF-8编码数据库获取数据时,数据包含特殊字符,如Ä,Ö,Ü,ä,ö,ü,。。。那么结果集是空的

$('.club-details').click(function() {
    var element = $(this);
    var data = {
        gid: $(this).parent().parent().parent().parent().data('gid'),
        club_number: $(this).parent().parent().data('club')
    };
    $.ajax({
        type: 'POST',
        url: TRANSFER_CALLS_URI,
        data: 'key=getClubDetails&data=' + JSON.stringify(data),
        dataType: 'json',
        success: function(response) {
            var html = "";
            html += "<table>";
            html += "   <tr>";
            html += "       <td>Name kurz</td>";
            html += "       <td>" + response[0].name_short + "</td>";
            html += "   </tr>";
            html += "   <tr>";
            html += "       <td>Schießstätte</td>";
            html += "       <td>" + response[0].location + "</td>";
            html += "   </tr>";
            html += "   <tr>";
            html += "       <td>Telefon</td>";
            html += "       <td>" + response[0].phone + "</td>";
            html += "   </tr>";
            html += "</table>";
            element.unbind('click').popover({
                content: html,
                title: 'Vereinsinformation',
                html: true,
                placement: 'bottom'
            }).popover('show');
        },
        error: function() {
            $.error('Ajax');
        }
    });
});
$('.club details')。单击(函数(){
var元素=$(此);
风险值数据={
gid:$(this.parent().parent().parent().parent().data('gid'),
俱乐部编号:$(this.parent().parent().data('club'))
};
$.ajax({
键入:“POST”,
url:TRANSFER_CALLS_URI,
data:'key=getClubDetails&data='+JSON.stringify(数据),
数据类型:“json”,
成功:功能(响应){
var html=“”;
html+=“”;
html+=“”;
html+=“Name kurz”;
html+=“”+响应[0]。名称\u short+“”;
html+=“”;
html+=“”;
html+=“Schießstätte”;
html+=“”+响应[0]。位置+“”;
html+=“”;
html+=“”;
html+=“Telefon”;
html+=“”+响应[0]。电话+“”;
html+=“”;
html+=“”;
元素。取消绑定('click')。popover({
内容:html,
标题:“Vereinsinformation”,
是的,
位置:'底部'
}).popover(“show”);
},
错误:函数(){
$.error('Ajax');
}
});
});

将成功接收并显示不带德语特殊字符的数据记录。

您应该检查浏览器的编码、服务器端语言、数据库连接、数据库、表和列。确保所有这些都是UTF-8。

在使用
json\u encode
转换数据之前,您是否尝试对每个值使用
utf8\u encode
?是的,但不起作用:(您所有的点都是UTF-8,但不起作用:(您还有其他想法吗?没有,但您需要隔离错误。打开数据库客户端或命令行,选择未显示的确切数据,看看是否可以在此处显示。如果此处没有问题,请尝试使用服务器端查询执行最简单的查询并显示数据。如果仍然没有问题,请复制/粘贴您的将德语文本转换到javascript文件中,并尝试直接使用它,而无需对服务器进行ajax查询。你明白了这一点,如果需要,继续将流程拆分为更小的部分,目前范围还很模糊,你在这里无法获得精确的帮助。