Файлы, закодированные как UTF-8, не обязательно нуждаются в каком-либо специальном маркере (так называемая метка порядка байтов или «BOM»), чтобы указывать, что они закодированы как таковые.
От настроек зависит, добавляет ли Dreamweaver такой маркер. Особенно для файлов, отличных от HTML, часто рекомендуется вообще не добавлять такой маркер для UTF-8. Как говорят, спецификация в файле CSS иногда приводит к сбою начальных правил в файле в некоторых браузерах. А до версии 6 PHP просто рассматривал спецификацию как вывод, что может привести к ошибкам «Невозможно изменить информацию заголовка - заголовки уже отправлены».
Компьютерные программы имеют несколько опций для определения кодировки при открытии файла без маркера: отсканируйте первые сто байтов документа, чтобы увидеть, что там, или (как для файлов XML и HTML) доверять значению некоторой кодировки, указанному как человек читаемый текст в документе. И если все терпит неудачу: просто используйте некоторое значение по умолчанию, когда кодировка не известна иначе.
Итак, есть несколько вещей, которые нужно проверить:
Используется ли спецификация для файлов, которые Dreamweaver правильно определяет как UTF-8, а также для файлов, которые он определяет как западные? На Mac откройте терминал и запустите:
файл my-file.html
... что может привести к чему-то вроде:
my-file.html: текст в кодировке UTF-8 Unicode (с спецификацией) с разделителями строк CRLF
В Windows вы можете найти ту же команду в Cygwin . Или используйте hex-редактор, чтобы увидеть первые байты (EF BB BF для спецификации UTF-8). Или настройте браузер на явное использование Western и выполните View Source (или используйте старый редактор, который не понимает UTF-8), чтобы увидеть, показывает ли он первые байты в виде забавных символов, например

. Это твоя спецификация UTF-8.(Если вы найдете
ÿþ
илиþÿ
тогда это UTF-16. Плохо, если вы не пишете что-то вроде китайского! В этом ответе вообще нет никаких забавных символов? Тогда читайте об использовании «Arial Unicode MS» в Get Dingbats для появления в Firefox 3 ? )Внутренние части файла указывают кодировку? Такие как:
<meta http-equ = "Content-Type" content = "text / html; charset = UTF-8" />
(В HTML файлах, то Content-Type должен быть указан перед тем в
<title>
теге.)Если присутствуют оба: совпадают ли они?
Если Dreamweaver считает, что файл не является UTF-8: имеет ли это значение? Итак: есть ли в этом файле специальные символы? Обычный ASCII-файл не изменяется при сохранении в формате UTF-8 (если в спецификации не указан префикс).
(Обратите внимание, что я предполагаю, что вы все еще работаете с локальными файлами. Если вещи на самом деле извлекаются с веб-сервера, то есть также HTTP-заголовок Content-Type. См. Firefox отображает символы мусора вместо веб-страницы . После загрузки файлы на веб-сервер, необходимо убедиться, что веб-сервер отправляет ту же кодировку в своих заголовках Content-Type.)