2016-04-12 10 views
1
$connect = mysqli_connect("localhost", "root", "123456", "json_test"); 

$sql = "SELECT * FROM names"; 
$query = mysqli_query($connect,$sql); 
while($row=mysqli_fetch_array($query)){ 
    $arr[]=array(
     'id' => $row['id'], 
     'title' => $row['name'] 
    ); 
} 
echo json_encode($arr); 

は返っています???????キリル文字(utf-8)です。それを修正するには?JSONはキリル文字データを返すことができません

+2

は($、 "UTF8" を接続する) 'mysqli_set_charsetを追加します;'あなたの接続後にチェック! – Saty

+0

これはうまくいきます。ありがとう@Saty – Tuguldur

答えて

1

$ mysqli-> set_charset( "utf8")を追加してください。以下のコードをチェックして、私は

$connect = mysqli_connect("localhost", "root", "123456", "json_test"); 
$connect->set_charset("utf8"); 

$sql = "SELECT * FROM names"; 
$query = mysqli_query($connect,$sql); 
while($row=mysqli_fetch_array($query)){ 
    $arr[]=array(
     'id' => $row['id'], 
     'title' => $row['name'] 
    ); 
} 
echo json_encode($arr); 
+0

mysqli_set_charset($ connect、 "utf8");私の接続後にこの回線を動作させてください。あなたの解決策は同じだと思います。返信ありがとう: – Tuguldur

+0

@Saty:ありがとうございます – Ajay

+0

You'r welcome !!! enjoy – Saty

1

mysqli_set_charset()機能から、データベースサーバーにデータを送信するときに使用するデフォルトの文字セットを指定します教えてください。

接続後にmysqli_set_charset($connect,"utf8");を追加する必要があります。

$connect = mysqli_connect("localhost", "root", "123456", "json_test"); 
mysqli_set_charset($connect,"utf8"); 

読むhttp://php.net/manual/en/mysqli.set-charset.php

関連する問題