2013-08-03 37 views
0

我从我的表中获取我的数据是在“Latin_1”中,但是当数据返回时,带有德语字符的字段get返回为空。 它为什么这样做? 不会json编码影响字符集?除此之外,我完全失去了。ajax数据库请求不返回德文字符?

我读过你可以在PHP中设置字符集,但它已被正确设置,表中有特殊字符?

编辑//

这里是代码我使用 __php:

function getInfo($country){ 

    $rows = array(); 
    $query = "SELECT name,add1,add2,town,district,postcode FROM stockistsWorld WHERE country = '". mysql_escape_string($country) ."' LIMIT 4 "; 
    //$query = "SELECT Name,add1 FROM stockistsUK LIMIT 10"; 
    $result = mysqli_query($this->conn, $query); 
    /* numeric array */ 

    while($row = mysqli_fetch_array($result, MYSQLI_NUM)){ 

     $rows[] = $row; 

     } 

    return $rows; 
} 

,这是阿贾克斯REQUEST_ _

function ajaxData(country){ 
//get data from database return into inf array 
var infArray = new Array(); 
$.ajax({ 
     type: 'POST', 
     url: 'php/Maps.php', 
     data: {country: country}, 
     success: function(data){ 
     infArray = JSON.parse(data); 
     geoCodeClientSide(infArray); 
     }   
    }); 

}

+0

为什么你使用'mysql_escape_string'当你用'MySQL的工作** **我' – PeeHaa

+0

这是我第一次,我只是想,你必须这样做停止SQL注射 –

+0

http://php.net/manual/en/mysqli.real-escape-string.php – PeeHaa

回答

1

请设置你的db/t的字符集能够像utf-8一样。

感谢, 新

+0

我已将它更改为此,但它仍不返回变音器?我以为utf 8不支持这个? –

+0

请手动检查表格中的具体数据,您是否能够阅读这些字符?如果不是,那么你需要在我的sql中将字符集更改为utf-8 – Lab

+0

后再次插入数据如果我查询数据库中的特殊字符变为 –