Jonmey
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Baltazar500 Цитата: кириллица будет кракозябрами | Текстовый файл в кодировке UTF8 должен быть корректным. то есть начинаться с EFBBBFh (англ. Byte order mark, BOM) то есть с сигнатуры указывающей, что это это файл в кодировке UTF8 У вас же этой сигнатуры нет. Дело в том, что UTF8 пришел из сетевых технологий, в которых, как правило, нет необходимости в этой сигнатуре, поскольку используются другие средства для указания типа кодировки (как напр. в html файлах). Перекочевав в простые текстовые файлы, эта кодировка породила проблему корректного ее определения. Нередко в случаях коротких файлов или файлов с эпизодическим вкраплениями определенных символов возникает коллизия даже с использованием специальных алгоритмов при определении корректной кодировки (UTF8 или не-UTF8). Простейший пример https://www118.zippyshare.com/v/R1IbVWZa/file.html (сравните результат в кодировке win1251 и UTF8; файл создан в первой кодировке). То есть, строго говоря, BOM должен присутствовать в текстовом файле в кодировке UTF8 всегда, несмотря на упорную отсебятину авторов части программ, апеллирующих, что, де, "сигнатуру можно не включать". Это глупость ибо основана доводах типа "оно - мягкое, потому что вон там - теплое". |