06.06.2017 00:41
qwrty40
 
Доброго времени суток всем!
Озадачили меня несложным отчетом (из базу УКМ отобрать и просуммировать инфу). Сходу уперся в проблему (есть тупое решение, но интересно же):
Цитата:
require_once 'connect.php';
header("Content-Type: text/html; charset='utf-8'");
$text = "select name, address from trm_in_store";
$result = mysqli_query($link,"select name,address from trm_in_store");
while ($row = mysqli_fetch_array($result)) {
echo "<li>{$row['name']}</li>";
echo "<li>{$row['address']}</li>";
}
русские буквы названия магазина и адреса выводятся вопросиками. Кодировка в браузерах выставлена UTF-8, диагностика (мол, "Вы подключены к базе...") в самом начале выводятся нормально. Посмотрел в базу (SHOW VARIABLES LIKE %CHAR% - на выходе везде UTF-8. Подскажите, плз, куда посмотреть...
06.06.2017 00:45
twix
 
Гуглить в сторону table character set и table collation.
06.06.2017 01:33
qwrty40
 
Чтобы посмотреть, что получаю, подсунул вот это:
Цитата:
echo mb_detect_encoding($row['name'])."<br>";
перед выводом инфы. Получил ASCII...
06.06.2017 07:45
OlegON
 
это подсовывать не надо.
twix тебе выше написал, посмотри, какая кодировка в БД и там тебе iconv в помощь.
06.06.2017 08:05
qwrty40
 
С самого начала посмотрел (все - utf8), а вот результат запроса почему-то ASCII. И
Цитата:
iconv(mb_detect_encoding($row['name']),'UTF-8",$row['name'])
ничего не дает - все равно ряд вопросиков. Потом буду детально разбираться, сейчас по-быстрому в лоб наваяю.
06.06.2017 08:34
OlegON
 
подсунутое убери...
06.06.2017 09:42
vdm
 
В базе УКМ UTF-8 везде.
Из документации на mysqli:
Код:
/* изменение набора символов на utf8 */
if (!mysqli_set_charset($link, "utf8")) {
    printf("Ошибка при загрузке набора символов utf8: %s\n", mysqli_error($link));
    exit();
} else {
    printf("Текущий набор символов: %s\n", mysqli_character_set_name($link));
}

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.