Прблема с украинскими буквами

Print RSS
105

Author
Чатланин
0
есть проблема следующая:
имеется граббер новостей Украины в кодировке utf-8.
имеется ротор в этой же кодировке.
граббер работает и я читаю новости уже давно и успешно, но вот если новости на украинском, то украинские буквы не отображаются, а выводит примерно так
Розлив нафтопродукт╕в поблизу ╤лл╕ч╕вська на Одещин╕.
можно это както исправить?
P

Землянин
0
А как должна выглядеть эта строка?

Голубые штаны
0
там проблема с украинской буквой і
Розлив нафтопродуктів поблизу Іллічівська на Одещині.
P

Землянин
0
Вообще странная ошибка. Наблюдается только с І/і или с остальными Ґ/ґ/Ї/ї/Є/є тоже? Вообще можно написать перекодировщик, но это будет мега костыль. Через что грабишь? CURL?

Голубые штаны
0
4. Phantom, ну почему мега-костыль? Если проблема только с одной буквой, то спасет что-то типа
$text = preg_replace('|╕|iu', 'i', $text);
Если букв несколько - внести их в массив и работать уже с ним. Зачем городить?
Changed: Дмитрий (10.09.2011 / 05:43)

Ктулху
0
5, это и есть костыль, нужно искать корень проблемы

Голубые штаны
0
ShiftBHT (10 Сентября 2011 / 08:27)
5, это и есть костыль, нужно искать корень проблемы
по крайней мере не мега-костыль, как говорил Андрюха.
Author
Чатланин
0
пробЛЕМА СО всеми буКвами. Граббер на основе fIle_Get_contents

Голубые штаны
0
Текст после граба регулярками какими-то обрабатывается? Может, просто учтены определенные символы, цифры, латинский алфавит и кириллица, а укр просто отсутствуют в регулярке?

В любом случае тебе поможет вот такая шляпа:
$search = array("╤" => "І", "╕" => "і", "бла" => "Ї", "бла" => "ї", "бла" => "Ґ", "бла" => "ґ", "бла" => "Є", "бла" => "є");
$text = 'Розлив нафтопродукт╕в поблизу ╤лл╕ч╕вська на Одещин╕.';
echo strtr($text, $search);
Тут переменная $text - это то, что ты сграбил. В регулярку я уже подставил буквe "I" и "i". Остальные сам доработай (вместо "бла" подставь кракозябру, которая ассоциируется с последуюжей за "бла" укр. буквой). Вот и весь "костыль" E
Author
Чатланин
0
9. dima.london, Спасибо. Этот вариант подошел, хотя я не могу понять причину неотображения. кодировка одна и юникод же должен поддерживать украинские буквы.
Stickers / Tags / Rules / Top topics / Top Posts / Search