[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: utf-8 и BOM
Страницы: 1, 2, 3, 4
twin
Первое, с чем зачастую сталкиваются те, кто сделал правильный вывод и решился перейти на кодировку utf-8, это отказ работы хидеров.
Цитата
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\site.ru\www\index.php:1) in Z:\home\site.ru\www\index.php on line 8

Они почему то подло и гаденько начинают верещать, что перед ними был осуществлен вывод в поток, хотя тщательный анализ под микроскопом показывает - нет там вывода. И пробелов нет. Ничего нет.

Если внимательно изучить ошибку, то становится ясно - ругается он на первую строчку индекса
Цитата
(output started at Z:\home\site.ru\www\index.php:1)


С уверенностью 99,99% можно констатировать - это BOM (byte order mark)
Это такая маркировка файлов с кодировками UTF.
Чесно говоря я не встречал ситуации, где эта маркировка была бы полезной, если используется UTF-8. Для UTF-16LE и UTF-16BE возможно, но для восьмерки один вред. Как говорится - хотели как лучше, получилось как всегда.

Так вот, это ни что иное, как три байта (в нашем случае EF BB BF), с которых начинается файл. А сервер воспринимает их как вывод и начинает материться.

Как с этим бороться.
Во первых - перенастроить свой редактор. Нужно выбрать формат UTF-8 without BOM, что обозначает utf-8 без BOM

Ну а во втроых нужно удалить эти три байта из файлов, которые вцепились в них мертвой хваткой. Просто пересохранить в новом формате не всегда выходит.

Для этого можно воспользоваться утилиткой, которую мы разработали специально для таких ситуаций. Она в аттаче, пользуйтесь.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
sergeiss
Я думаю, что кому-то полезно будет сия утилитка. Только можно мне покритиковать то, как она сделана? wink.gif

1. Не изменяется размер окна... Когда я "тяну" за нижний правый угол окна, а оно не тянется, то у меня появляется большое желание закрыть прогу и "настучать" программеру smile.gif Удобнее, когда дизайн "резиновый". Тем более, что под Виндой это делается "на счет раз".
2. Нету автоматического выбора файлов... То есть, мало того, что я должен указать каталог и тип файлов, но я еще должен куда-то ткнуть. А это уже неожидаемо. Потому что более привычно, по разным прогам, что как только зашел в каталог, то все файлы указанного типа показываются автоматически. То же самое и при смене типа файлов. Должна быть автоматическая выборка согласно нового фильтра.
3. Самое поганое. Окно сделано типа "поверх всех". По этой причине или еще по какой, после выбора "Найти ВОМ" окно с подтверждением оказывается ПОД основным окном. А это уже реальный косячок-с.
4. Не понятно: а если файл был в другой кодировке, а не UTF-8, можно ли его перекодировать в UTF-8? Была бы полезная фича. Причем, реально полезная smile.gif Я тут недавно в Блокноте перекодировал из Win-1251 в UTF-8. Было бы приятнее вот так вот "жмякнуть" и получить результат. Более быстро, чем в Блокноте, я думаю. Особенно для больших файлов. А очень большие файлы просто не влезут в Блокнот.
5. Да, и еще. Было бы приятно иметь короткие коды для каждого пункта меню, благо дело их немного. Ctrl-"чего-нибудь".

PS. Всё сказанное - это больше благие пожелания, а не критика smile.gif

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
twin

Цитата
1. Не изменяется размер окна... Когда я "тяну" за нижний правый угол окна, а оно не тянется, то у меня появляется большое желание закрыть прогу и "настучать" программеру  Удобнее, когда дизайн "резиновый". Тем более, что под Виндой это делается "на счет раз".
Ну может... Мне чет так больше нравится. Поглядим.
Цитата
2. Нету автоматического выбора файлов... То есть, мало того, что я должен указать каталог и тип файлов, но я еще должен куда-то ткнуть. А это уже неожидаемо. Потому что более привычно, по разным прогам, что как только зашел в каталог, то все файлы указанного типа показываются автоматически. То же самое и при смене типа файлов. Должна быть автоматическая выборка согласно нового фильтра.

Ну тоже может и так... Подумаю
Цитата
3. Самое поганое. Окно сделано типа "поверх всех". По этой причине или еще по какой, после выбора "Найти ВОМ" окно с подтверждением оказывается ПОД основным окном. А это уже реальный косячок-с.

Я не ту залил))) Это недоработанная была. Сейчас нормальная.
Цитата
4. Не понятно: а если файл был в другой кодировке, а не UTF-8, можно ли его перекодировать в UTF-8? Была бы полезная фича. Причем, реально полезная  Я тут недавно в Блокноте перекодировал из Win-1251 в UTF-8. Было бы приятнее вот так вот "жмякнуть" и получить результат. Более быстро, чем в Блокноте, я думаю. Особенно для больших файлов. А очень большие файлы просто не влезут в Блокнот.
Нет, это только для борьбы с BOM утилитка. Для перекодировки будет другая.
Цитата
5. Да, и еще. Было бы приятно иметь короткие коды для каждого пункта меню, благо дело их немного. Ctrl-"чего-нибудь".
Да, тоже идея, поработаем.

Спасибос за анализ и критику. smile.gif


_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Michael
twin, у меня при запуске выдает ошибку: В устройстве нет диска. Вставьте диск в устройство. Потом работает. Видимо завязка на букву диска идет.

p.s. удали потом это мое сообщение когда станет неактуальным, чтоб не засоряло тему

_____________
There never was a struggle in the soul of a good man that was not hard
sergeiss
Еще.

Да, сейчас окошко на месте, т.е. сверху smile.gif Но вот почему:
1. Выбрал файлы, нажал "Найти ВОМ", убедился, что его нету, нажал ОК... А куда файлы-то исчезли??? Это, опять же, к вопросу автовыбора файлов.
2. Выбрал сначала CD, затем виртуальные диски, в которых ничего сейчас не прописано... И куда они исчезли из списка??? И почему у меня там вообще не видно сетевых дисков, которые прописаны в компе? Чёта-та тут не то... А если мне нужно проверить файлы, лежащие на сетевом диске? Мне что - надо их на локальный перетаскивать?
3. Ну и мелочь, вобщем-то. Иконка приложения в маленьком формате выглядит как "No smoking!" smile.gif Потому что слово ВОМ становится мелким, выглядит как просто красная полоска smile.gif

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
arvitaly
А как сделать поиск без рекурсии?
twin
Michael
Цитата

twin, у меня при запуске выдает ошибку: В устройстве нет диска. Вставьте диск в устройство. Потом работает. Видимо завязка на букву диска идет.

Наверно в списке нет такого диска... Разберемся.
sergeiss
Цитата
1. Выбрал файлы, нажал "Найти ВОМ", убедился, что его нету, нажал ОК... А куда файлы-то исчезли??? Это, опять же, к вопросу автовыбора файлов.
там нет кнопки "OK" biggrin.gif Как куда исчезли? Если нету BOM, то что показывать? Какие файлы?
Цитата
2. Выбрал сначала CD, затем виртуальные диски, в которых ничего сейчас не прописано... И куда они исчезли из списка??? И почему у меня там вообще не видно сетевых дисков, которые прописаны в компе? Чёта-та тут не то... А если мне нужно проверить файлы, лежащие на сетевом диске? Мне что - надо их на локальный перетаскивать?
Ну на CD все равно она бессильна, по этому и пропадают. А про сетевые диски - я так глубоко не копал, это же утилитка больше разовая. Почистил и спи дальше. Так можно целую ОС написать, если все предусматривать. Запусти её на том диске, который чистить надо и всё.
Цитата
3. Ну и мелочь, вобщем-то. Иконка приложения в маленьком формате выглядит как "No smoking!"  Потому что слово ВОМ становится мелким, выглядит как просто красная полоска
А вот это головная боль... Есть у кого-нить программка, которая значки из картинок делает? Это времянку я топорную затолкал, нормальный значек никак не получается сделать...

arvitaly
Цитата
А как сделать поиск без рекурсии?
Не понял вопроса...

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
arvitaly
Ну я выбрал папку, в ней еще миллион папок, но мне надо чтобы нашлось только в той которую я выбрал
twin
А, вона чё... Не предусмотрено такое. А надо?

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
arvitaly
Цитата
А, вона чё... Не предусмотрено такое. А надо?


Ну конечно, а что каждый раз в отдельную папку кидать файлы, чтобы прога не перебирала все вложенные?
twin
OK, доработаем этот момент. smile.gif

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Black Angel
Как настроить Dreamweaver, чтобы он был без BOM?
sergeiss
Цитата (Black Angel @ 19.10.2010 - 14:58)
Как настроить Dreamweaver, чтобы он был без BOM?

В восьмом английском Edit->Preferences->New Document и надо снять галочку с "Include Unicode Signature (BOM)".
Может и еще где...

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
twin
Вот иллюстрация.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
twin
Почти все замечания учли и исправили. smile.gif

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.