- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
В 2023 году Google заблокировал более 170 млн фальшивых отзывов на Картах
Это на 45% больше, чем в 2022 году
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Разбираю XML парсером perl XML::RSS::Parser
xml получаю в кодировке windows-1251
после парсинга кодировка становиться utf8
кто сталкивался ? это лечиться? или посоветуйте перекодировку uft8-win
php.net/iconv
###########################
#
# Перекодировка из UTF-8 в CP1251
#
###########################
sub utf8_to_cp1251 {
my @str;
require "Encode.pm";
foreach my $str (@_) {
&Encode::_utf8_on($str) unless &Encode::is_utf8($str);
push(@str, &Encode::encode('cp1251', $str));
}
return wantarray ? @str : $str[0];
}
Без Encode.pm
my($s)=@_;
return''if(!defined$s)||''eq$s;
my($r,$l)=('',length$s);
my@uM=(0x80,0xE0,0xF0,0xF8,0xFC,0xFE);
my@us=(0x00,0xC0,0xE0,0xF0,0xF8,0xFC);
my@um=(0x7F,0x1F,0x0F,0x07,0x03,0x01);
doo: for(my$i=0;$i<$l;){
my($c,$n,$d)=(ord(substr($s,$i++,1)),-1);
for(my$j=0;$j<6;$j++){
$n=$j,$c&=$um[$j],last if($c&$uM[$j])==$us[$j]}
$r.='?',next if$n<0;
for(my$j=0;$j<$n;$j++){
$r.='?',next doo if$i>=$l||((($d=ord(substr($s,$i,1)))&0xC0)!=0x80);
$i++;$c<<=6;$c|=($d&0x3F)}
$r.='?',next if$c>0xFFFD||($c>=0xD800&&$c<=0xDFFF);
if($c>1039&&$c<1104){$c=chr($c-1040+192)
}elsif($c==1025){$c=chr(168)
}elsif($c==1105){$c=chr(184)
}elsif($c==13||$c==10||($c>31&&$c<256)){$c=chr($c);
}else{$c='?'}
$r.=$c}
$r}
Без Encode.pm
Обфускатором по коду чтоли прошлись перед тем как выложить?
Последние версии PHP плохо работают с XML с кодировкой отличной от UTF-8