Боюсь, вы неверно представили UTF-8 и ANSI в своем вопросе.
UTF-8 - это , а не , необходимая для начала спецификации. Нет такой кодировки, как кодировка "UTF-8 без BOM". Там просто "UTF-8". Я обработал миллионы (ну, конечно, сотни тысяч) файлов UTF-8 и ни разу не сталкивался с спецификацией при их запуске.
Согласно стандарту Unicode , спецификация не требуется и не рекомендуется в UTF-8:
2.6 Схемы кодирования
Использование спецификации не требуется и не рекомендуется для UTF-8, но может встречаться в ситуациях, когда данные UTF-8 преобразуются из других форм кодирования, в которых используется спецификация, или когда спецификация используется в качестве сигнатуры UTF-8. , См. Подраздел «Метка порядка следования байтов» в Раздел 16.8, Специальные предложения , для получения дополнительной информации.
Также, нет такой кодировки, как "ANSI"!
Ближайшая вещь, которую IANA предоставляет , предоставляет "ANSI" для имени набора символов: "ANSI_X3.4-1968" и "ANSI_X3.4-1986", которые оба являются просто псевдонимами для US-ASCII "(предпочтительное имя MIME), 7-битное кодирование 128 кодовых точек. Нет другого официального имени в кодировке, содержащего в своем имени «ANSI».
Я не уверен, в какой среде вы работаете, но, похоже, это привело вас к совершенно нестандартным именам, ожиданиям и стандартам.
Может быть, это ... Windows ™? ☹
РЕДАКТИРОВАТЬ: Только что нашел этот ответ об источнике этого Misonymy.