PHP не выводит специальные символы должным образом

Мой запрос выбирает строку из моей базы данных и выводит ее в виде JSON в браузер, но я столкнулся с проблемой, которую не могу обернуть: всякий раз, когда строка, выбранная моим запросом, содержит специальный символ, например " ö "," ä "или" å "ответ от php становится полностью пустым. Вот мой запрос:

"SELECT email, firstname, lastname, phone, role FROM members WHERE id=? LIMIT 1"

Я вывожу это так:

$data = array(
                    "email" => $email,
                    "firstname" => $firstname,
                    "lastname" => $lastname,
                    "phone" => $phone,
                    "role" => $role
                );
                   echo json_encode($data);
                   exit();

Если я вручную заменю часть вывода специальным символом вроде этого:

$data = array(
                    "email" => $email,
                    "firstname" => "Jörgen", <-------------
                    "lastname" => $lastname,
                    "phone" => $phone,
                    "role" => $role
                );
                   echo json_encode($data);
                   exit();

Затем он выводит его правильно. Мой config.php содержит это:

header('Content-type: text/plain; charset=utf-8');

И моя сортировка базы данных установлена ​​на utf8_general ci

Возможный дубликат UTF-8 полностью

Spoody 01.05.2018 19:13
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
1
31
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Попробуйте включить $db_connect->set_charset("utf8"); в свой PHP-код при подключении к базе данных. (где $db_connect будет содержать ваше соединение с базой данных)

Я подключаюсь так: $ conn = new mysqli ($ database ['host'], $ database ['user'], $ database ['pass'], $ database ['db']); куда бы я включил ваше предложение?

Alexander Jovric 01.05.2018 19:49

прямо под этой линией, как $conn->set_charset("utf8");

Johannes 01.05.2018 19:51

Другие вопросы по теме