2016-12-04 2 views
0

APIリンク:: http://www.nobannoo.com/AppLandingPage/text.phpphpはmysql dbからJSONをエンコードしますが、 "???"データ

<?php 
require_once 'dbconfig.php'; 
$query = "SELECT * FROM tc_cerealname"; 
$stmt = $DBcon->prepare($query); 
$stmt->execute(); 
$userData = array(); 
while($row=$stmt->fetch(PDO::FETCH_ASSOC)){ 
    $userData['All Cereal Name'][] = $row; 
} 
echo json_encode($userData, JSON_UNESCAPED_UNICODE); 
?> 

出力:: "ID": "1"、 "cereal_name_en": "水田"、 "cereal_name_bn": "???"

:: "cereal_name_bn"

所望の出力: "ধান"

+0

おそらくこれが役立つことがあります。https://stackoverflow.com/questions/23322312/php-json-encodestring-json-unescaped-unicode-not-escaping-czech-chars – akrys

+0

「正確にdoesnの何ずっと –

+0

を助けていません助けて?ここでの答えは、ここでは2つのことを示唆しています:1.)は、ヘッダー( 'content-type:application/json; charset = utf-8'); 'を追加することによって出力をJSONとして送信することを提案しますそれがutf-8であることを確認する文字セット)2.)また、データベース接続がUTF-8も使用することを確認することを提案します。それはmysqliのために記述されていますが、php.netではPDOの可能な解決策を説明するコメントが見つかりました:https://secure.php.net/manual/en/pdo.construct.php#113498 – akrys

答えて

0

見る '疑問符' Trouble with utf8 characters; what I see is not what I stored

  • バイトでは、UTF8/utf8mb4としてエンコードされていない格納されます。これを修正してください。
  • データベースの列は、CHARACTER SET utf8(またはutf8mb4)です。これを修正してください。
  • また、読み取り中の接続がUTF-8であることを確認してください。

あなたは

$DBCon->set_charset('utf8'); 

(またはutf8mb4)を持っていますか。

しかし、データが正しく保存されていないと思われます。 SELECT col, HEX(col) FROM ...については、そのリンクの注記を参照してください。

関連する問題