Получаю строку:
$text = file_get_contents( $link );
echo mb_detect_encoding ( $text );
Знаю что файл кодировки ANSI, а выводит UTF-8. В связи с этим не могу конвертировать в UTF-8. Если просто вывести $text, выведет � вместо кириллицы. Скрипт в формате UTF-8. Что нужно почитать?
Кто подскажет почему так, буду благодарен.
Функция mb_detect_encoding
не особо хорошо умеет определять кириллицу. Навскидку см. например тут: https://habr.com/en/post/107945/
И ещё была одна замечательная статья на хабре (к сожалению ссылку потерял и поиском не ищется, возможно уже давно удалена). В двух словах там было следущее: функции автоопределения кодировки в разных блокнотах (notepad++, sublime) достаточно простые, неумные, а главное - на небольших отрезках текста могут давать ложные срабатывания.
Автор той статьи работал в техподдержке какого-то вебхостинга и пилил свой блокнот для правки файлов прямо на хостинге, поэтому когда его замучали клиенты - разобрался в вопросе достаточно глубоко.
Поэтому, имейте ввиду:
Поэтому этих PHP-функций по автодетекту кириллицы вы встретите на просторах интернета много, разных.
И ещё. Вам в первых двух комментариях к вопросу дали совершенно правильные советы. Прежде чем гонять через iconv кодировки - лучше убедиться, что у вас всё находится в UTF8 (сами исходники, файлы, если это веб - то в хедерах прописано). Все эти костыли, когда у вас один файл на тысячу так некрасиво в коде смотрятся, что проще заранее договориться, что сервис работает строго в utf-8, чем костыли городить.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как реализовать привязку соц сети, например ютуб к аккаунту пользователя php делать отдельную таблицу, где хранить данные из соц сети и id пользователя...
У меня есть игровой бот, там есть эвенты во время которых людям нужно ждать некоторое время (от 10 секунд до нескольких минут)Чтобы в это время...
подскажите пожалуйста, как тут в первом data-scroll(где $content) удалить пробелыЯкорь не вешается когда заголовок состоит больше чем из одного слова