jsonを使用してデータベースから変数をエコーします。ただし、■は次のように表示されます。運でUTF-8文字がJSON形式で正しく表示されない
:私はこれを行っているこの問題を解決しようとする試みで
。任意のアイデアを修正する方法。
EDIT:
if (isset($_GET['term'])){
$return_arr = array();
try {
$conn = new PDO("mysql:host=".DB_SERVER.";port=8889;dbname=".DB_NAME, DB_USER, DB_PASSWORD);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare('SELECT School FROM Schools WHERE School LIKE :term');
$stmt->execute(array('term' => '%'.$_GET['term'].'%'));
while($row = $stmt->fetch()) {
$return_arr[] = $row['School'];
}
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
/* Toss back results as json encoded array. */
echo mb_detect_encoding($return_arr, 'auto');
}
あなたは 'JSON_UNESCAPED_UNICODE'フラグを検討していますか? http://php.net/manual/en/function.json-encode.phpを参照してください。 –
私は試しましたが、それでも同じ結果を返しました。 –
echo mb_detect_encoding( '■'、 'auto');それがすでにUTF-8であることを返します。 JSON_UNESCAPED_UNICODEは、 "\ xc3 \ xa9"がéのエスケープされていないユニコードであるとあなたを助けません。私は問題があなたのデータベースの文字セット – miknik