Всем привет. Беру все файлы из папки через 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():
Судя по всему, данные, полученные из БД обрабатываются в однобайтовой кодировке. Соответственно, при выводе на страницу пачка однобайтнокодированных символов оказывается среди utf-8. Очевидно, что в таком случае одна из двух частей страницы будет показана неверно, что и наблюдается на скриншотах.
Следует хранить данные в БД в юникоде и обеспечить их вывод на страницу в utf-8.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости