Не удается получить НЕанглийские буквы (текст) из MySQL в PHP

Я разработчик Android и использую PHP только для получения данных из MySQL (поэтому мой PHP очень плохой), и он всегда работает, но я сталкиваюсь с тем, что не могу получить данные с неанглийскими буквами

Я написал такой вопрос Как вставить в объект JSON неанглийские буквы?

но в этом вопросе я думал, что проблема была в кодировке json, но это не было проблемой в json (но теперь я знаю, как решить проблему с json) поэтому мне нужно просто получить неанглийские текстовые данные из MySQL

Я думал, что проблема в базе данных, поэтому я изменил все на utf-8, дважды проверил, сделал тот же запрос в базе данных и получил ожидаемый результат, значит, проблема в php-коде. затем я исследовал и подумал, что, возможно, мой php не поддерживает utf-8, и эта строка <meta http-equiv = "Content-Type" content = "text/html;charset=utf-8" /> вверху, затем создайте простую переменную String, состоящую из неанглийских букв, и повторите эту переменную, и она показала мне то, что я ожидаю, поэтому я думаю, что php поддерживает utf-8

так что думаю проблема только в части с mysqli_query

это мой код:

<meta http-equiv = "Content-Type" content = "text/html;charset=utf-8" />
<?php
header("Content-type: text/html; charset=utf-8");
$con =  mysqli_connect(...);
$sql = "SELECT * FROM news WHERE status = 'actual' ORDER BY id DESC";

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

if (mysqli_num_rows($result) > 0) {
// output data of each row
while($row = mysqli_fetch_assoc($result)) {
    echo "id: " . $row["id"]. " - TITLE:  " . $row["title"]. " -TEXT:  " . $row["text"]. "<br>";
}
} else {
echo "0 results";
}
mysqli_close($con);
?>

это мои данные базы данных: Не удается получить НЕанглийские буквы (текст) из MySQL в PHP и структура: Не удается получить НЕанглийские буквы (текст) из MySQL в PHP

для всей базы данных

    MySQL charset: UTF-8 Unicode (utf8)
    MySQL connection collation: utf8_unicode_520_ci

Я ожидал получить те же данные, что и в заголовках и текстовых столбцах (вы можете видеть данные выше)

но я получаю:

id: 4 - TITLE: ???????? -TEXT: ????????? ??????? ?????, ? ??? ????????? ?? ?????????
id: 3 - TITLE: A little bit... -TEXT: Just some more patience! And you will get this wonderfull application!
id: 1 - TITLE: �p�???�? -TEXT: Just wait a little bit!  

Я пытался написать со всеми подробностями моей проблемы, поэтому помогите мне с кодом, что я должен добавить/изменить (в какой строке?), чтобы получить ожидаемый результат. Спасибо всем заранее!

РЕШЕНИЕ НАЙДЕНО

я должен добавить $con->set_charset("utf8");

до объявления $sql

Есть ли на $con набор символов? stackoverflow.com/questions/10829816/…

user3783243 31.01.2019 18:21

Покажите подробности вашего подключения к MySQL. При подключении необходимо указать кодировку.

Dave 31.01.2019 18:25

@user3783243 user3783243 извините, я понял, что вы имеете в виду, что я должен использовать $mysqli->set_charset("utf8"); , но извините, у меня плохое знание php, где мне это написать? после какой строки?

Java Rzayev 31.01.2019 18:43

Ваш скрипт отправляет метатег до того, как попытается отправить заголовок. Вы не можете отправлять заголовки после вывода текста в браузер. Вероятно, это должно вызывать ошибки.

S. Imp 31.01.2019 18:46

@ user3783243 СПАСИБО! Я нашел решение благодаря вам, я должен добавить $con->set_charset("utf8");, и он работает!

Java Rzayev 31.01.2019 18:48
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать 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 и хотите разрабатывать...
2
5
156
0

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