При meta charset=utf-8 не выводит строку

237
11 февраля 2018, 01:01

Всем привет. Беру все файлы из папки через scandir(), получаю строку в UTF-8. Т.е. mb_detect_encoding() выводит UTF-8, но на странице выводит как знаки вопроса. Если убираю из <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8">, то названия папок считываются, но весь остальной текст сходит на нет. Пробовал уже делать utf8_encode(), ничего не вышло (да и идея сама по себе глупая -из utf8 делать utf8). Что делать?

Файл, который сканирует папку, сохранен в utf-8 without bom.

Скрин документа с <meta http-equiv="Content-Type" content="text/html; charset=utf-8">:

Без meta:

Скрин дампа массива и результата mb_detect_encoding():

Answer 1

Судя по всему, данные, полученные из БД обрабатываются в однобайтовой кодировке. Соответственно, при выводе на страницу пачка однобайтнокодированных символов оказывается среди utf-8. Очевидно, что в таком случае одна из двух частей страницы будет показана неверно, что и наблюдается на скриншотах.

Следует хранить данные в БД в юникоде и обеспечить их вывод на страницу в utf-8.

READ ALSO
Memcached на сервере

Memcached на сервере

Здравствуйте! Установил и настроил на debian memcached, так же настроил сайт для работыНо показывает вместо русского текста такое: ����� ����������������...

150
Что такое stack_underflow?

Что такое stack_underflow?

Доброго времени суток! Объясните пожалуйста что такое stack_underflow и когда он возникает на небольшом примере

219
Почему проверка не работает и получает stray &#39;\361&#39;?

Почему проверка не работает и получает stray '\361'?

У вас символ 'с' - кириллица, в ifДля проверки нажмите ctrl+f и в строке поиска введите русскую 'с'

267
С++ Visual studio Автогенерация гетеров, сетеров

С++ Visual studio Автогенерация гетеров, сетеров

Visual studio 2017, интересует автогенерация методов гет, сет, а также конструкторов инициализации и копированияМожно ли? и как это сделать

218