• Июнь 21, 2021, 00:41:49
• Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Автор Тема: Проблема с UTF-8  (Прочитано 6357 раз)

Оффлайн Artes

  • Newbie
  • *
  • Сообщений: 6
    • Просмотр профиля
Проблема с UTF-8
« : Декабрь 16, 2011, 13:52:39 »
Добрый день.
Возникла проблема с 4.1
Есть сайты где не указана кодировка или указана UTF-8 но грабер ее не распознает
Если в автоматическом режиме он парсит кракозяблы т.к кодировка не та
Если источнику задавать четко UTF-8 даже тест не проходит, начинается загрузка и у граббера вместо результата тест пустая страничка открывается, вобще без до замен \ источник \ послк, вобщем не работает.

Сталкивались? И как исправить?

Оффлайн Stanislav

  • Administrator
  • Jr. Member
  • *****
  • Сообщений: 76
    • Просмотр профиля
    • E-mail
Re: Проблема с UTF-8
« Ответ #1 : Декабрь 16, 2011, 19:51:14 »
1 - вы уверены, что кодировка именно UTF-8?
2 - приведите пример такого сайта/сайтов
3 - у источника и категории кодировка указывается ОТДЕЛЬНО - вы должны указать кодировку и при настройке категории и при настройке источника
« Последнее редактирование: Декабрь 16, 2011, 20:05:01 от Stanislav »

Оффлайн Artes

  • Newbie
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Проблема с UTF-8
« Ответ #2 : Декабрь 16, 2011, 20:29:26 »
Как пример бок с сайтом teleshow.com.ua/ Кодировка хоть и по тупому но указана в коде
<meta charset="UTF-8" />

По дефолту грабер определяет как 1251 и показывает крякозяблы.
Ставишь принудительно utf 8 вобще ничего не разбирает.

Оффлайн Stanislav

  • Administrator
  • Jr. Member
  • *****
  • Сообщений: 76
    • Просмотр профиля
    • E-mail
Re: Проблема с UTF-8
« Ответ #3 : Декабрь 17, 2011, 00:51:51 »
Как пример бок с сайтом teleshow.com.ua/ Кодировка хоть и по тупому но указана в коде
<meta charset="UTF-8" />

По дефолту грабер определяет как 1251 и показывает крякозяблы.
Ставишь принудительно utf 8 вобще ничего не разбирает.

вы же видите, что кодировка указана не по стандартам, конечно же её определить невозможно - требуется указывать явно
граббер здесь ведёт себя корректно, не знает какая кодировка - ставит дефолтную
Если вы указали явно - ставит указанную вами
А граббинг с этого сайта вполне работает: http://fdegrabber.demo.fdstar.net/grabber-demo/index.php?act=category_test&feed_category_id=37 - проверяйте свои настройки

Оффлайн Artes

  • Newbie
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Проблема с UTF-8
« Ответ #4 : Декабрь 17, 2011, 15:32:02 »
Понял, то ошибка была в том, то категории кодировка задана явно а источнику автоматом, вот они и загинались. Задал явно и там и там, все заработало.

Если можно еще вопрос, в базе граббера все статьи видны нормально, а на сайте выводятся кракозяблами. Проблема в неком несовпадении кодировок граббера и сайта? Нужно играться с настройками сайта в граббере (кодировки) или еще могут быть причины?

Оффлайн Stanislav

  • Administrator
  • Jr. Member
  • *****
  • Сообщений: 76
    • Просмотр профиля
    • E-mail
Re: Проблема с UTF-8
« Ответ #5 : Декабрь 17, 2011, 15:58:27 »
Понял, то ошибка была в том, то категории кодировка задана явно а источнику автоматом, вот они и загинались. Задал явно и там и там, все заработало.

Если можно еще вопрос, в базе граббера все статьи видны нормально, а на сайте выводятся кракозяблами. Проблема в неком несовпадении кодировок граббера и сайта? Нужно играться с настройками сайта в граббере (кодировки) или еще могут быть причины?

да, именно в настройках сайта в граббере, а именно поля:
Цитировать
Название кодировки базы сайта:
Цитировать
MySQL название кодировки базы сайта:
Цитировать
Сравнение кодировки базы сайта:

Для примера, если сайт в кодировке UTF-8:
Название кодировки базы сайта: UTF-8
MySQL название кодировки базы сайта: utf8
Сравнение кодировки базы сайта: utf8_general_ci

если сайт в кодировке Windows-1251:
Название кодировки базы сайта: Windows-1251
MySQL название кодировки базы сайта: cp1251
Сравнение кодировки базы сайта: cp1251_general_ci


Если, например, в базу некорректно записывается информация, например если база в кодировке latin1 (ISO-8859-1), а в неё записывается информация в кодировке UTF-8 (бывает и такое), то:
Название кодировки базы сайта: UTF-8
MySQL название кодировки базы сайта: latin1
Сравнение кодировки базы сайта: latin1_general_ci

или, например, наоборот:
Название кодировки базы сайта: ISO-8859-1
MySQL название кодировки базы сайта: utf8
Сравнение кодировки базы сайта: utf8_general_ci