json_encode()
で配列を印刷すると、アラビア語のユーザー名が表示されません。これらのユーザー名を正しく表示するにはどうすればよいですか?私は、クエリbeforphp json_encode()がアラビア文字でヌルを表示する
mysql_query("SET NAMES 'utf8'");
を使用する場合
$cnx = mysqli_connect("localhost", "root", "pass", "databasename");
$data = mysqli_query($cnx, "SELECT userid,username FROM user");
$getalluser = array();
while ($row = mysqli_fetch_array($data))
$getalluser[] = array($row[ "username" ],
"http://localhost/test/image.php?u=" . $row[ "userid" ],
$row[ "username" ]);
echo json_encode($getalluser);
が、結果はこの\u00ca\u00c7\u00e3\u00d1
私はPHP 5.2
現時点でのソリューションを使用していますように示し、iconv()
を使用
$users[] = array(iconv('windows-1256', 'utf-8', ($row[ "username" ])),
"http://localhost/386/image.php?u=" . $row[ "userid" ],
iconv('windows-1256', 'utf-8', ($row[ "username" ]);
mysqlの代わりにmysqliを使用するには、mysql_query( "SET NAMES 'utf8'"); 'ではなく、' mysqli_set_charset($ cnx、 'utf8'); '行が必要です。 – julp
@julpありがとう兄弟私は 'iconv()'を使って結果を 'utf'に変換しました。とてもうまく動作しています – user3745594
私は理解できません:mysqli_set_charsetの目的です)、UTF-8で既に存在するはずのものをUTF-8で変換するにはどうすればいいですか?あなたのデータは、最初にデータベースに「壊れていますか? (つまり、SET NAMESがINSERTで見つからない) – julp