Язык
Контакты
GitHub
Поддержка
Регистрация
Войти
Логин: Пароль: Запомнить:
Пользователи
Последние сообщения
Ответить
1 2

Магия UTF-8 и Fapos (боремся со служебными символами BO

Wasja

  • Истенный Атомовод
  • Юзер
  • 397
  • Репутация:19 
  • Предупреждения: 0 
  • Регистрация:
    11 Ноя 2010
#1
Многие знают, что стандартная программа "Блокнот", входящая в Windows, позволяет редактировать файлы в кодировке UTF-8 (в Fapos эта кодировка используется, например, для хранения исходных текстов и файлов шаблонов). Однако не все знают, что при этом "Блокнот" вставляет в начало файла три служебных байта "п»ї" (в шестнадцатеричном формате "0xEF 0xBB 0xBF" ). Как сказано в википедии:
Цитата
Многие программы Windows (включая Блокнот) добавляют байты 0xEF, 0xBB, 0xBF в начале любого документа, сохраняемого как UTF-8. Это метка порядка байтов Юникода (англ. Byte Order Mark, BOM), также её часто называют сигнатурой (соответственно, UTF-8 и UTF-8 with Signature). По наличию сигнатуры программы могут автоматически определить, является ли файл закодированным в UTF-8, однако файлы с такой сигнатурой могут некорректно обрабатываться старыми программами, в частности xml-анализаторами. Такие редакторы, как Notepad++, Notepad2 и Kate позволяют явно указывать, следует ли добавлять сигнатуру при сохранении UTF-файлов.
Эти три байта могут вызвать проблемы как при верстке, так и в работе CMS. Например, при их наличии в файле шаблона, я наблюдал съезжание таблиц, появление пробелов между элементами (характерно для файлов шаблона, использующихся для вывода массива элементов). Так же был замечена сложно отслеживаемая ошибка с некачественным добавлением комментария к материалу в каталоге файла, когда эти байты были в файле "loads.php". Подобные проблемы довольно часто обнаруживают и в других CMS.
Решение данной проблемы - сохранять файлы в редакторах, не добавляющих BOM (например, вышеперечисленными Notepad++, Notepad2 и Kate).

Отредактировано автором 24 Фев 2011

r00t_san

  • ДиЗиГнЕр
  • Пользователь
  • 169
  • Репутация:11 
  • Предупреждения: 0 
  • Регистрация:
    2 Окт 2010
#2
А лучше для разработки использовать нормальный редактор который работает с UTF-8 и символов в код не добавляет
я например пользуюсь PHP Expert Editor
Цитата
"Простой" в использовании PHP редактор, разработанный специально для PHP мастеров.
PHP Expert Editor имеет встроенный HTTP сервер и отладчик для запуска и отладки PHP
скриптов (Вы можете использовать любой внешний HTTP сервер), проверка синтаксиса PHP,
встроенный браузер, FTP клиент, файл эксплорер, настраиваемые шаблоны кода, три режима
подсветки кода (PHP & HTML, HTML only, PHP only), функции быстрой навигации в PHP коде
и многое другое.
Русский интерфейс имееться.
Кому надо вот ссылку себе на сервер залил:
http://www.lsla.net/pub/phpxedit_4.2_rus.rar

Отредактировано автором 24 Фев 2011
Если где то нет чего то значит что то где то есть.

ARMI

  • Заклинатель Атома
  • Пользователь
  • 1858
  • Репутация:46 
  • Предупреждения: 0 
  • Регистрация:
    4 Янв 2011
#3
Wasja пишет:
Однако не все знают
Wasja, спс и в самом деле не знал)

Отредактировано автором 24 Фев 2011
Я горжусь тем, что помогаю в развитии бесплатной CMS - AtomX

skad0

  • Атом-мозг
  • Юзер
  • 841
  • Репутация:10 
  • Предупреждения: 0 
  • Регистрация:
    2 Окт 2010
#4
Узнал это осенью от Дрюни, когда столкнулся с проблемой появления нерабочести хедеров

Drunya

  • Man of God
  • Админ
  • 3527
  • Репутация:110 
  • Предупреждения: 0 
  • Регистрация:
    30 Ноя -0001
#5
Wasja, как всегда ты отличился. Спасибо за полезную инфу. И r00t_san, тебе тоже.

Я пользуюсь notepad++. Весь Fapos написан в нем:)

Я горжусь тем, что создал бесплатную CMS - AtomX. И люблю нашу команду)

skad0

  • Атом-мозг
  • Юзер
  • 841
  • Репутация:10 
  • Предупреждения: 0 
  • Регистрация:
    2 Окт 2010
#6
пхп эксперт эдит багнут с подсветкой синтаксиса. Я использую Notepad ++ и phpDesigner7.

Нотпад если писать надо "на коленках", дизайнер, если серъезно сижу

r00t_san

  • ДиЗиГнЕр
  • Пользователь
  • 169
  • Репутация:11 
  • Предупреждения: 0 
  • Регистрация:
    2 Окт 2010
#7
Что то багов с подсветкой не замечал :pardon:

Если где то нет чего то значит что то где то есть.

Drunya

  • Man of God
  • Админ
  • 3527
  • Репутация:110 
  • Предупреждения: 0 
  • Регистрация:
    30 Ноя -0001
#8
Да, вот смотрю я и понимаю что не зря меня самураем называют. Все в нотепаде++ писать)))))

Я горжусь тем, что создал бесплатную CMS - AtomX. И люблю нашу команду)

r00t_san

  • ДиЗиГнЕр
  • Пользователь
  • 169
  • Репутация:11 
  • Предупреждения: 0 
  • Регистрация:
    2 Окт 2010
#9
Друня настолько суров что пишет на php в hex редакторе :girlgy:

Если где то нет чего то значит что то где то есть.

skad0

  • Атом-мозг
  • Юзер
  • 841
  • Репутация:10 
  • Предупреждения: 0 
  • Регистрация:
    2 Окт 2010
#10
Нотпад крут. С плагинами он не хуже пхпэксперта

1 2
Сейчас online: 7. Зарегистрированных: 0. Гостей: 7.