json_encode()
으로 배열을 인쇄 할 때 아랍어 사용자 이름이 표시되지 않습니다.이 사용자 이름을 올바르게 표시하려면 어떻게해야합니까? 내가 쿼리 befor을php json_encode()가 아랍어 문자로 null을 표시합니다.
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 감사 형제 결과를'utf'로 변환하기 위해'iconv()'를 사용했고 매우 잘 작동합니다. – user3745594
허, 이해가 안갑니다 : MySQL에 utf8에서 결과를 반환하도록 요청하면 (mysqli_set_charset), UTF-8로 이미 변환해야하는 내용을 UTF-8로 변환하려면 어떻게해야할까요? 귀하의 데이터는 처음에 데이터베이스에 "손상"됩니까? (예 : SET NAMES가 INSERT에 없습니다.) – julp