Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Проклятый BOM

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: utf8(freeBSD) -> cp1251(windows) -> utf8(Linux)
DeepVarvar Супермодератор
Отправлено: 23 Ноября, 2010 - 00:54:31
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Путь конвертации файлов (я справа):
utf8(I don't known) -> cp1251(windows) -> utf8(Linux)

Люди подскажите пожалуйста ord()'ы от BOM'ов!!! Вырезать бы мне их из текстовых файлов...
(Добавление)
Или рыгулярочкой поделитесь...
(Добавление)
1. При открытии файла в gedit в кодировке utf-8 вся кириллица отображается нормально (неужели utf-8???).
2. При открытии там же в cp1251 - отказывается показывать (знать в наличии непечатаемые символы)
3. При file_get_contents(этого файла), отправке заголовка header('Content-Type: text/html; charset=utf-8'), и выдаче в браузер вместо текста вопросы в ромбиках.
4. При отправке заголовка header('Content-Type: text/html; charset=windows-1251'), стандартные такие кракозяблы...
Сделал такую фишку:
PHP:
скопировать код в буфер обмена
  1. $len = 10;
  2. for ($pos = 0; $pos < $len; $pos++) {
  3.         $symbol = substr($text,$pos,1);
  4.         echo $pos.' - '.ord($symbol).' - '.$symbol.'<br />';
  5.         //$ne .= $symbol;
  6.         }

Выводит с заголовком utf-8:
0 - 208 - �
1 - 144 - �
2 - 208 - �
3 - 187 - �
4 - 208 - �
5 - 181 - �
6 - 208 - �
7 - 186 - �
8 - 209 - �
9 - 129 - �
///////////////////////
Выводит с заголовком windows-1251:
0 - 208 - Р
1 - 144 - ђ
2 - 208 - Р
3 - 187 - »
4 - 208 - Р
5 - 181 - µ
6 - 208 - Р
7 - 186 - є
8 - 209 - С
9 - 129 - Ѓ
(вопросики и кракозяблы вставились - щас еще посмотрю как они тут на форуме отобразятся)
Что-то мне ord'ы не нравятся - помоему они не от utf-8...
 
 Top
Вездеход
Отправлено: 23 Ноября, 2010 - 09:55:32
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 820
Дата рег-ции: Апр. 2008  
Откуда: Россия


Помог: 0 раз(а)




чувак
поставь себе notepad++
ваще мега рекомендую...
там как раз кодировку можно выбрать без этих самых бом-ов... сам разог на них напоролся и обойти по другому не получилось


-----
о великий nl2br!
Хочешь невероятных ощущений? Юзай блокнот! Блокнот - чудеса сбываются!
Чем меньше вы знаете PHP - тем ценнее мои знания!
 
 Top
Phantik
Отправлено: 23 Ноября, 2010 - 10:35:57
Post Id


Посетитель


Покинул форум
Сообщений всего: 305
Дата рег-ции: Июнь 2009  


Помог: 0 раз(а)




"Проклятый старый BOM"
Король и Шут
Радость
 
 Top
DeepVarvar Супермодератор
Отправлено: 23 Ноября, 2010 - 10:42:41
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Вездеход пишет:
поставь себе notepad++
, да да, я помню эту твою тему )))
Честно говоря это не возможно., ради нпп ставить винцо или искать портированые исходники с сипипи-вин на сипипи-линь для этого нпп, или портировать самому - это неимоверный гемор )))). Да и не стоит оно того.

Скорее всего мои файлы (как оно не странно) состоят из информации в разных кодировках.. БОМы я там не нашел, а если они там и есть то режу:

$text = str_replace("\xef\xbb\xbf","",$text);

Вопрос открыт... Кто что подскажет???
(Добавление)
Phantik )))))))))
 
 Top
Вездеход
Отправлено: 23 Ноября, 2010 - 14:22:58
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 820
Дата рег-ции: Апр. 2008  
Откуда: Россия


Помог: 0 раз(а)




DeepVarvar
я, как человек любящий винду, не парился - самое сложное в установке notepad++ - это его сказачать, но это заняло с учетом поиска их сайта максимум 2 минуты... Улыбка


-----
о великий nl2br!
Хочешь невероятных ощущений? Юзай блокнот! Блокнот - чудеса сбываются!
Чем меньше вы знаете PHP - тем ценнее мои знания!
 
 Top
DeepVarvar Супермодератор
Отправлено: 23 Ноября, 2010 - 19:04:16
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Вездеход поставил я в сердцах винцо (Wine - эмулятор винды) и запустил нпп там но он не помог... Есть еще предложения? Пойду схожу к соседу с виндой - попробую у него перекодить (смотрите остросюжетный блокбастер - "виндовс возвращается" - чтоб у гейтса моча в коленках забродила... факен шит...)
 
 Top
JustUserR
Отправлено: 23 Ноября, 2010 - 20:06:10
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




DeepVarvar Для обеспечения решения предложенной вами задачи возможно использование двух основных этапов реализаци - вначале возможно осуществлене удаления фактического байта указывающего порядок следования байтов в файле - после чего допустимо применение функции символьной упаковки обеспечивающей приведение хранимого информационного содержимого в требуемое представление


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
DeepVarvar Супермодератор
Отправлено: 24 Ноября, 2010 - 05:17:23
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




JustUserR пишет:
приведение хранимого информационного содержимого в требуемое представление
да да да... Я так и хотел сделать, но БОМа там нетю. Остальное хочу переформатить из одной таблицы в другую посимвольно ord'ами...

З.Ы. поход к соседу не помог ))))
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB