@nikita071003

Почему json_encode() выдает пустой результат при работе с кириллицей?

При работе с английскими буквами выдает нормальный результат, кириллица - пустой

PHP Version 7.2.27

В базе данных кодировка utf8_general_ci (делал через phpMyAdmin)

Через json_last_error выдает JSON_ERROR_UTF8 (Некорректные символы UTF-8, возможно неверно закодирован)

Вот код:

$db = mysqli_select_db($connect, DB_NAME) or die(mysqli_error($connect)); // true or false
$result = mysqli_query($connect, "select * from klg_goods");
//
if (mysqli_num_rows($result) > 0)
{
    while ($row = mysqli_fetch_array($result))
    {
        
        $lineSelect['klg_goods'][] = $row;
       
    }

    print json_encode($lineSelect,JSON_UNESCAPED_UNICODE);
  • Вопрос задан
  • 104 просмотра
Решения вопроса 1
nokimaro
@nokimaro Куратор тега PHP
после mysqli_select_db на след строке
mysqli_set_charset($connect, "utf8mb4");
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
xmoonlight
@xmoonlight Куратор тега PHP
https://sitecoder.blogspot.com
Проверьте просто вывод данных из БД.
Проверьте строку в БД.
Проверьте, что везде UTF-8: кодировка скрипта, сайта, страницы, база, таблица, поле таблицы.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы