Чтение данных UTF-8 из MySQL показывает?вместо я - PullRequest
4 голосов
/ 25 июня 2010

Вот как я читаю данные:

<?php
$id = $_GET["id"];
$number = mysql_real_escape_string($id);
$result = mysql_query('SELECT * FROM `mystory` where `id` = ' . "$number" . ' LIMIT 1');

$row = mysql_fetch_assoc($result);
echo $row['story'];
?>

Данные кодируются как utf8_bin.Из х выходов PHP ?

Почему это так?

Ответы [ 3 ]

13 голосов
/ 25 июня 2010

Вам необходимо убедиться, что ваше подключение к базе данных используется нами также в UTF-8. Вы можете сделать это следующим образом:

mysql_query("SET NAMES utf8");

Также убедитесь, что вы сообщаете браузеру, что это UTF-8:

header("Content-type: text/html; charset=utf-8");
2 голосов
/ 05 января 2014

Это единственный код, сработавший для меня: -

mysqli_set_charset($con,'utf8');

Где $ con - это значение вашего соединения с БД. Не забудьте поставить код после подключения и код ошибки, и все будет в порядке.

0 голосов
/ 25 июня 2010

Я использую все эти операции:

mysql_query ('SET NAMES utf8');
mysql_query ('SET CHARACTER utf8');
mysql_set_charset ('utf8', $LINK);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...