2016-07-04 17 views
0

アラビア文字を含むjsonを書くと、疑問符として表示されます。json encodeアラビア語の問題

$con = mysqli_connect($host,$username,$password,$db);  

$q = mysqli_query($con,'select `product_id`, `product_name`, `sku`, `price`, `final_price`, `minimal_price`, `special_price`, `image`, `small_image`, `thumb_image`, `short_description`, `href`, `is_favorite`, `category_name` from products_uae_ar'); 
mysqli_query($con, "SET NAMES 'utf8'"); 
mysqli_query($con, "SET CHARACTER SET 'utf8'"); 

print_r(json_encode($output)); 

答えて

1

これは完全な解決策ではないかもしれないが、あなたはまた、これを読むために良いでしょうクエリ

$con = mysqli_connect($host,$username,$password,$db); 
mysqli_query($con, "SET NAMES 'utf8'"); 
mysqli_query($con, "SET CHARACTER SET 'utf8'"); 
mysqli_set_charset($con, 'utf8mb4'); 

$q = mysqli_query($con,'select `product_id`, `product_name`, `sku`, 
          `price`, `final_price`, `minimal_price`, 
          `special_price`, `image`, `small_image`, 
          `thumb_image`, `short_description`, `href`, 
          `is_favorite`, `category_name` 
         from products_uae_ar'); 

print_r(json_encode($output)); 

を発行する前に、UTF-8を使用する接続を教えてくださいあなたがいることを確信している場合

UTF-8 all the way through

+0

ありがとうRiggsFollyこれは問題を解決する接続文字列の後にこの行を追加するmysqli_set_charset($ con、 'utf8mb4'); –

0

を投稿データはutf-8です。これを試してください。

$arr = array_map('utf8_encode', $arr); 
$json = json_encode($arr); 
0

あなたは

json_encode($output, JSON_UNESCAPED_UNICODE); 
0

エコーjson_encode($、JSON_UNESCAPED_SLASHES | JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP | JSON_UNESCAPED_UNICODE)のように試すことができます。

関連する問題