Не могу получить неанглийские буквы (текст) из MySQL в PHP - PullRequest
0 голосов
/ 31 января 2019

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

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

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

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

itмои данные базы данных: datas и структура: structure

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

    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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...