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 :: DomDocument cp1251 denver cp1252

 PHP.SU

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


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

> Описание: паразит!
DlTA
Отправлено: 08 Октября, 2012 - 10:40:19
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


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




парсю сайт, на входе cp1251
загоняю в DOMDocument нахожу нужное, получаю текст
$outstr .= $doc->saveXML($p).PHP_EOL;
и вот тут начинается,
для получения текст в корректной кодировке (работаю в cp1251) оказывается надо сделать
$outstr = iconv("UTF-8","cp1252",$outstr);
при этом на хосте все корректно $outstr = iconv("UTF-8","cp1251",$outstr);

с чем может быть связана такая неприятность?
в коде указано
setlocale(LC_ALL, "ru_RU.CP1251"); не влияет на рез.
 
 Top
KingStar
Отправлено: 08 Октября, 2012 - 10:52:01
Post Id



Участник


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


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




элементарно Ватсон Улыбка

Цитата:
Расширение DOM использует кодировку UTF-8. Используйте функции utf8_encode() и utf8_decode() для работы с текстами в кодировке ISO-8859-1, либо Iconv в других кодировках.


-----
То что программа работает, не означает что она написана правильно!
 
 Top
DlTA
Отправлено: 08 Октября, 2012 - 10:59:19
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


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




ребята вы когда текст читаете, обращайте внимание, а суть проблемы,
эж не написал что у меня проблема в том что кодировка в utf-8, проблема в том что денвер какого лешего, корректно перекодируюет результат в 1251 только если поставить кодировку 1252
 
 Top
KingStar
Отправлено: 08 Октября, 2012 - 11:07:16
Post Id



Участник


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


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




mb_convert_encoding не пробовал???



-----
То что программа работает, не означает что она написана правильно!
 
 Top
DlTA
Отправлено: 08 Октября, 2012 - 11:10:38
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


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




KingStar пишет:
mb_convert_encoding не пробовал???

а iconv уже не в моде?
(Добавление)
KingStar пишет:
$outstr = mb_convert_encoding($outstr, 'CP1251', 'UTF-8');
поведение точно такое же
на денвере нужно писать $outstr = mb_convert_encoding($outstr, "cp1252", "UTF-8");
на хосте $outstr = mb_convert_encoding($outstr, "cp1251", "UTF-8");
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Кодировки и все смежное »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB