2

Я использую Dreamweaver CS3, и когда я создавал приложение, я забыл убедиться, что кодировка установлена на UTF8.

Я просмотрел все свои файлы и изменил кодировку с западноевропейской на UTF8. Это было нормально, пока я не заметил, что некоторые файлы возвращаются обратно в западноевропейскую кодировку при повторном открытии.

Независимо от того, сколько раз я меняю кодировку обратно (используя ctrl+j и выбираю раскрывающийся список в свойствах страницы) и сохраняю файлы, она все равно возвращается к западной, когда открывается.

Кажется, это происходит только с некоторыми файлами, а с некоторыми все в порядке. Я попытался создать новый файл в UTF8 и скопировать в него содержимое старого. Проблема сохраняется, поэтому я думаю, что файл может содержать странные символы, которые заставляют Dreamweaver «разумно» менять кодировку.

Любые идеи приветствуются. Большое спасибо.

6 ответов6

4

Файлы, закодированные как UTF-8, не обязательно нуждаются в каком-либо специальном маркере (так называемая метка порядка байтов или "BOM"), чтобы указать, что они закодированы как таковые.

От настроек зависит, добавляет ли Dreamweaver такой маркер. Особенно для файлов, отличных от HTML, часто рекомендуется вообще не добавлять такой маркер для UTF-8. Как говорят, спецификация в файле CSS иногда приводит к сбою начальных правил в файле в некоторых браузерах. А до версии 6 PHP просто рассматривал спецификацию как вывод, что может привести к ошибкам «Невозможно изменить информацию заголовка - заголовки уже отправлены».

Компьютерные программы имеют несколько опций для определения кодировки при открытии файла без маркера: отсканируйте первые сто байтов документа, чтобы увидеть, что там, или (как для файлов XML и HTML) доверять значению некоторой кодировки, указанному как человек читаемый текст в документе. И если все терпит неудачу: просто используйте некоторое значение по умолчанию, когда кодировка не известна иначе.

Итак, есть несколько вещей, которые нужно проверить:

  1. Используется ли спецификация для файлов, которые 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?)

  2. Внутренние части файла указывают кодировку? Такие как:

    <meta http-equ = "Content-Type" content = "text/html; charset = UTF-8"/> 

    (В файлах HTML тип содержимого должен быть указан перед <title> .)

  3. Если присутствуют оба: совпадают ли они?

  4. Если Dreamweaver считает, что файл не является UTF-8: имеет ли это значение? Итак: есть ли в этом файле специальные символы? Обычный ASCII-файл не изменяется при сохранении в формате UTF-8 (если в спецификации не указан префикс).

(Обратите внимание, что я предполагаю, что вы все еще работаете с локальными файлами. Если вещи на самом деле выбираются с веб-сервера, то есть также HTTP-заголовок Content-Type. См. Firefox отображает мусорные символы вместо веб-страницы . После загрузки файлов на веб-сервер необходимо убедиться, что веб-сервер отправляет ту же кодировку в своих заголовках Content-Type.)

3

Мне приходилось иметь дело только с другой кодировкой один раз, и у меня были результаты, аналогичные тому, что вы говорите.

Я считаю, что это связано с тем, что Dreamweaver просто забывает / не может определить настройки некоторых файлов.

Я изменил эту опцию, и она работала нормально для меня:

альтернативный текст

Правка> Настройки> Новый документ ... Установите флажок «Кодировка по умолчанию:» / «Использовать при открытии существующих файлов, в которых не указана кодировка»

1

Меню « Модификация»> «Свойства страницы»> «Кодировка» и укажите кодировку для преобразования документа в

наслаждаться!

1

Ни один из этих ответов не является правильным.

Если вы хотите, чтобы какой-либо файл открывался как UTF-8 при его открытии, просто добавьте эту строку в качестве второй или первой строки вашего документа:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 

Я добавляю эту строку в качестве второй строки всех моих файловых осколков CodeIgniter ... так как в большинстве файлов нет тега заголовка.

Это заставляет Dreamweaver работать должным образом: установка кодировки кодировки по умолчанию. Панель настроек не работает вообще.

0

Я думаю, что если вы хотите удалить BOM из файлов utf-8 на Dreamweaver (создание файлов), вы должны сделать это:

у меня получилось так что постарайся увидеть результат сам


на ткаче снов:

1º перейти в настройки;

2º в меню категории нажмите "новый файл" или "новый документ"

3º первый флажок должен быть установлен, и кодировка по умолчанию должна быть utf-8


1º Перейдите в «C:\Program Files (x86)\Adobe\Adobe Dreamweaver CS6»

2º поиск Default.php и Default.dwt.php

3º открыть блокнот ++ с правами администратора

4º выберите два файла

5º щелкните правой кнопкой мыши и выберите редактировать с помощью блокнота ++


в блокноте ++:

в файле eatch сделайте это:

1º клик кодировки на верхней панели

2º в подменю нажмите кнопку: «преобразовать в utf-8 WOM»

3º сохранить файл

-1

Проверьте iconv возможно ...

РЕДАКТИРОВАТЬ: Я не знаю, если вы попробовали этот iconv еще. Может быть, вы были слишком ленивы, чтобы установить Cygwin. Я нашел веб-интерфейс для iconv в той ссылке вики. Проверьте это.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .