Файлы, закодированные как 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 тип содержимого должен быть указан перед <title>
.)
Если присутствуют оба: совпадают ли они?
Если Dreamweaver считает, что файл не является UTF-8: имеет ли это значение? Итак: есть ли в этом файле специальные символы? Обычный ASCII-файл не изменяется при сохранении в формате UTF-8 (если в спецификации не указан префикс).
(Обратите внимание, что я предполагаю, что вы все еще работаете с локальными файлами. Если вещи на самом деле выбираются с веб-сервера, то есть также HTTP-заголовок Content-Type. См. Firefox отображает мусорные символы вместо веб-страницы . После загрузки файлов на веб-сервер необходимо убедиться, что веб-сервер отправляет ту же кодировку в своих заголовках Content-Type.)