Почему PHP-скрипт отображает символы / uXXXX вместо греческих символов, даже если я меняю набор символов?

У меня есть следующий код:

/* change character set to utf8 */
if (!mysqli_set_charset($con, "utf8"))

{

printf("Error loading character set utf8: %s\n", mysqli_error($con));

} else {

printf("Current character set: %s\n", mysqli_character_set_name($con));

}

// query the application data
$sql = "SELECT * FROM names";

$result = mysqli_query($con, $sql);

// an array to save the application data
$rows = array();

// iterate to query result and add every rows into array
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC))
{

$rows[] = $row;
}// close the database connection
mysqli_close($con);

// echo the application data in json format
echo json_encode($rows);

Я пробую это на сервере http://blabla.gr/apps.php и я получаю
\ u03bd \ u03c4 \ u03ce \ u03bd \ u03b7 \ u03c2 вместо греческих символов

Как я могу их правильно отображать как обычные utf8 греческие символы.

0

Решение

json_encode Функция кодирует символы Юникода, используя escape-коды по умолчанию. Вы можете использовать JSON_UNESCAPED_UNICODE флаг, чтобы оставить их в стороне.

echo json_encode($rows, JSON_UNESCAPED_UNICODE);
0

Другие решения

Других решений пока нет …