ランダムな推測:json_encode
UTF-8でエンコードされたデータを想定しており、UTF-8以外、ASCII以外の入力で説明した動作を示します。データベースから取得しているデータは、Latin-1でエンコードされている可能性があります。
データベース接続をutf8
に設定します UTF-8でエンコードされたデータをデータベースから直接受信する(UTF-8を最後まで参照> )、またはを使用します(この関数は頻繁に悪用されるため、面白くありませんが、ここで正しく適用されます) utf8_encode
データベースから取得したすべてのデータで、Latin-1からUTF-8に変換します。
つまり、次のいずれかです。
// set the connection charset
mysql_set_charset('utf8');
$result = mysql_query("SELECT post_status, post_title FROM wp_posts");
$data = array();
while ($row = mysql_fetch_assoc($result)) {
$data['posts'][] = $row;
}
$json_string = json_encode($data);
...
または:
$result = mysql_query("SELECT post_status, post_title FROM wp_posts");
$data = array();
while ($row = mysql_fetch_assoc($result)) {
$row = array_map('utf8_encode', $row);
$data['posts'][] = $row;
}
$json_string = json_encode($data);
...