Unicode を扱うときは、常に utf-8 を使用する必要があります
まず、MySQL データベースが utf-8 エンコーディングを使用していることを確認する必要があります。次のSQLを実行して、それを確認できます
ALTER TABLE your_table_name_here CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
次に、PHP と通信するときに MySQL が utf-8 を吐き出すようにする必要があります。
次のコマンドを使用できます
mysql_query('SET NAMES utf8');
mysql_query('SET CHARACTER SET utf8');
PDO を使用している場合は、データベースに接続するために、代わりに以下を使用する必要があります。
$db = new PDO(
'mysql:host=localhost;dbname=data_pdo_mysql', 'username', 'password',
array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'")
);
これらの変更後、レスラーの結果は次のようになります。
"\u010cesk\u00fd rozhlas 1 - Radio\u017eurn\u00e1l"
これは、Unicode エスケープ シーケンスを使用して Unicode 文字がエスケープされた完全なデータを含む有効な JSON です。