2016-12-04 170 views
1

说实话,我为了解决这个问题,但没有奏效乱投医,我可以在网上找到后,来到这里选择希伯来语..从MySQL数据库

我有一个编码为utf_general_ci一个phpMyAdmin的数据库表,当我插入数据在希伯来语它工作得很好,我可以在PhpMyAdmin的表格中看到希伯来语,但是当我需要从问题开始时的表格中检索希伯来语数据...

现在我正在使用简单sql查询从表中选择数据,我试着每一个应该修复它的代码,我可以在网上找到,但似乎没有任何工作。

我当前的代码是:

<?php 

    $db = "android"; 
    $username = "root"; 
    $password = ""; 
    $host = "localhost"; 


$sql = "select * from sample;"; 


$conn = mysqli_connect($host,$username,$password,$db); 
$conn->set_charset('utf8'); 

$result = mysqli_query($conn,$sql); 

$response = array(); 

while($row = mysqli_fetch_array($result)) 
{ 
    array_push($response,array($row[0],$row[1])); 
} 
$str = json_encode(array($response)); 
echo $str; 
mysqli_close($conn); 

?> 

和希伯来文的输出为\u05d4\u05d9\u05d9什么似乎是一个不同的编码,我的PHP文件被编码成UTF-8和我使用的核电站写。 请尝试帮助我在这一个,因为我无法找到答案

+0

这看起来像url编码输出或其他东西。尝试做所有的字符集和整理到utf8_general_ci –

+0

@KostasDrak你是什么意思?在PhpMyAdmin中,我的排序规则已经是utf8_general_ci – orisgoofo

+0

好像你可能需要添加适当的头文件,在PHP和HTML头文件中将字符集设置为utf8。你的查询的原始输出是什么样的?如果你在循环内执行var_dump($ row); – Qirel

回答

1

这是一个json_encode()行为,系统默认的Unicode字符转义为\u...

尝试用JSON_UNESCAPED_UNICODE flag

<?php 
echo json_encode($arr, JSON_UNESCAPED_UNICODE);