Реклама на сайте Advertise with us

Кодировки.

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

пенсионер

С нами с 07.11.02
Сообщения: 2612
Рейтинг: 1166

Ссылка на сообщениеДобавлено: 28/12/05 в 04:08       Ответить с цитатойцитата 

Спасайте, нервы на пределе...

есть скрипт который берет текст с другого сайта (на русском английском и французком) и создает из них XML фид.

кодировки на сайтах с которых берем инфу - разные, (но это не важно, так как текст все равно вроде в читаемом виде, правда в идеале надо все выводить в UTF-8)

и в итоге мне постоянно вываливаются ошибки типа
Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later.
An invalid character was found in text content.
Валидаторы пишут:
charmap' codec can't decode byte 0x98 in position 1131: character maps to <undefined> (maybe a high-bit character?
Смена кодировок в
<?xml version="1.0" encoding="Windows-1251" ?>
не спасла.

Вопрос, как это пофиксить?
или на крайняк как нахрен снести все знаки, которые отсутствуют в UTF-8, через регэкспы ?

ибо бесят уже эти ошибки конкретно icon_sad.gif

Здесь ищу и даю работу^так делаю деньги
тут читаю инфу^веду блог, а вы?

0
 



С нами с 19.11.03
Сообщения: 3973
Рейтинг: 2362

Ссылка на сообщениеДобавлено: 28/12/05 в 04:41       Ответить с цитатойцитата 

посмотри тут :
http://phpclub.ru/faq/wakka.php?wakka=encodings&v=x3z
и там же на форуме , реально нет времени вникать в суть проблемы , работы много у самого , но думаю там единственный выход , это естесно тупая перекодировка.

Береги нервы ;)

3
 

пенсионер

С нами с 07.11.02
Сообщения: 2612
Рейтинг: 1166

Ссылка на сообщениеДобавлено: 28/12/05 в 04:52       Ответить с цитатойцитата 

спасиб
я пока так сделал
preg_replace('/\x9./i',' ',$this);
не знаю насколько это коректно и поможет ли с другими языками\раскладками.

а перекодировка - это ПИ,,,Ц. Слишком много ресурсов требо, ибо даже браузеры неспособны автоматом ее определять всегда коректно icon_smile.gif))

а нервы берегу.., но мне надо кучу проектов успеть завершить до НГ, а осталось всего 3 дня :-\

Здесь ищу и даю работу^так делаю деньги
тут читаю инфу^веду блог, а вы?

0
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 28/12/05 в 14:11       Ответить с цитатойцитата 

Для кирилицы, поможет вот эта функция:

Код:

function utf8win1251($s){
    $out = $c1 = "";
    $byte2=false;
    for($c=0;$c<strlen($s);$c++){
      $i=ord($s[$c]);if($i<=127)$out.=$s[$c];
      if($byte2){
        $new_c2=($c1&3)*64+($i&63);$new_c1=($c1>>2)&5;$new_i=$new_c1*256+$new_c2;
        if($new_i==1025)$out_i=168;
        else{if($new_i==1105)$out_i=184;else $out_i=$new_i-848;}
      $out.=chr($out_i);$byte2=false;
      }
      if(($i>>5)==6){$c1=$i;$byte2=true;}
    }
    return $out;
}


Или использовать iconv, но она толи глючит, толи медленная, непомню почему пришлось отказаться от нее.


P.S. Ох сорри, тока щас заметил по ссылке выше тоже самое... =\

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »