Dreamweaver возвращается к западному кодированию после его изменения на UTF8

18455
Pickledegg

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

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

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

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

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

2
Dreamweaver «разумно» меняет все для вас. Вам лучше использовать блокнот, чем мечтать! Mike 14 лет назад 0
Майк, это не так, если используется в качестве редактора. Есть причины, по которым я сейчас использую это программное обеспечение, и ваше предложение, хотя оно вполне может быть правдой, не помогает в этом случае :) Pickledegg 14 лет назад 1
Вот так это комментарий, а не ответ :) Mike 14 лет назад 0
я предполагаю, что это может быть связано с открытием другой программы и внесением изменений, а также потерей кодировки UTF-8 в процессе ... но я действительно не использовал DW в течение действительно очень долгого времени :) warren 14 лет назад 0

6 ответов на вопрос

4
Arjan

Файлы, закодированные как 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 файлах, то Content-Type должен быть указан перед тем в <title>теге.)

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

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

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

Дай ему больше 5 минут! Я ждал несколько дней ответа на мой! William Hilsum 14 лет назад 0
3
William Hilsum

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

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

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

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

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

1
Darius Vanan

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

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

1
Jodo

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

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

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

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

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

0
SkullWritter

Я думаю, что если вы хотите удалить 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
Mike

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

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

If present, then one also needs to change the encoding as specified in the file contents itself, like `` Arjan 14 лет назад 0