Разница в том, что UTF-8 и «ANSI» (неправильное название Microsoft для различных 8-битных кодировок) — это совершенно разные кодировки, хотя они совпадают для диапазона кодов ASCII, от 0x00 до 0x7F.
Неправильно помечать файл «ANSI» как кодированный UTF-8. Ошибка не вызывает заметных последствий, если данные на самом деле содержат только символы ASCII или, в большинстве случаев, если файл отправляется с заголовками HTTP, указывающими правильную кодировку.
Нет причин не использовать спецификацию для HTML-файлов в кодировке UTF-8. Страницы, утверждающие обратное, основаны либо на информации о браузерах, утративших всякое практическое значение много лет назад, либо на смешении HTML с PHP. В файле PHP BOM может вызвать проблемы, потому что программное обеспечение PHP неправильно обрабатывает BOM, т. е. не удаляет его при вставке содержимого одного файла в другой.
Блокнот действительно не может сохранить файл в формате UTF-8 без спецификации. Поэтому при создании или редактировании файлов PHP используйте другие программы, такие как Notepad++. Если вам приходится использовать Блокнот, вам просто нужно адаптироваться к ограничениям: используйте «ANSI» (после того, как выясните, что это такое в вашей среде — это может быть windows-1252 или что-то еще), объявите его в заголовках HTTP и meta
теги и используйте ссылки на символы для представления символов, которые не могут быть представлены в «АНСИ».
person
Jukka K. Korpela
schedule
24.08.2013