![]() |
|
![]() ![]() ![]() |
|
RoRka |
|
||||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 21.12.2009 Репутация: нет Всего: нет |
Немного модифицированный пример с сайта Nokogiri:
Возникли проблемы с кириллицей. Помогите разобраться в чем дело.
|
||||
|
|||||
bilbobagginz |
|
|||
![]() Naughtius Maximus ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel Репутация: нет Всего: 317 |
-------------------- Я ещё не демон. Я только учусь. |
|||
|
||||
RoRka |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 21.12.2009 Репутация: нет Всего: нет |
Некорректно отображается:
Скорей всего гугл отдает не в UTF-8. Так как с другими сайтами проблем нет. Как тогда определить кодировку? Это сообщение отредактировал(а) RoRka - 12.2.2010, 13:00 |
|||
|
||||
bilbobagginz |
|
|||
![]() Naughtius Maximus ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel Репутация: нет Всего: 317 |
RoRka,
дело в том, что проблема может быть в 3-х местах:
если ты хочешь, чтобы все было в UTF-8, то проверь, что
ну и ессно, ты же зависишь от способностей удаленных серверов, если удаленный сервер не умеет слать в UTF-8, то твои "кувырки" ничем не помогут. ты можешь кстати попробовать определить кодировку автоматически. я думаю через диапазоны кодировок (определись какие кодировки ты поддерживаешь, и перекодируй все в юникод). самое сложное - определить точно в какой ты кодировке, а потом есть iconv Это сообщение отредактировал(а) bilbobagginz - 12.2.2010, 16:00 -------------------- Я ещё не демон. Я только учусь. |
|||
|
||||
RoRka |
|
||||||||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 21.12.2009 Репутация: нет Всего: нет |
Похоже проблема все же в сервере. Локаль настроена в UTF-8. Да и с другими сайтами таких проблем нет.
Пример. На следующий код:
Такой вот результат:
Интересно, что с Mechanize таких проблем не возникает:
Результат:
|
||||||||
|
|||||||||
bilbobagginz |
|
|||
![]() Naughtius Maximus ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel Репутация: нет Всего: 317 |
попробуй кодировку вставить в стринг запроса у гугла,
(так по крайней мере мой браузер делает):
ты же делаешь запрос в украинский филиал. На сервере гугл в Украине стоит какая-то украинская кодировка "по умолчанию", что вполне логично. насчет механизатора - посмотри какой именно запрос он высылает, и какую строку запроса конструирует. не удивляйся, если у механизатора для гуглы по умолчанию выставлена кодировка юникодом. Это сообщение отредактировал(а) bilbobagginz - 13.2.2010, 09:00 -------------------- Я ещё не демон. Я только учусь. |
|||
|
||||
Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: нет Всего: 42 |
Не логично ни разу http://www.google.com.ua/#q=ruby&fp=1 Все в UTF возвращается. Пусть посмотрит User-Agent, который передается в запросах. -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
bilbobagginz |
|
|||
![]() Naughtius Maximus ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel Репутация: нет Всего: 317 |
Fortop, user-agent это правильно...там ведь тоже кодировка есть.
-------------------- Я ещё не демон. Я только учусь. |
|||
|
||||
Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: нет Всего: 42 |
bilbobagginz, я бы и рад тебя обрадовать, да нечем - нет там кодировки.
Скорее всего он просто определяет по браузеру как отдавать.
-------------------- Мир это Я. Живее всех живых. |
|||
|
||||
bilbobagginz |
|
|||
![]() Naughtius Maximus ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel Репутация: нет Всего: 317 |
Fortop, ну я не знаю, пускай RoRka расскажет сам что он там накопал, и помогает ли ему в запросе просить кодировку....
-------------------- Я ещё не демон. Я только учусь. |
|||
|
||||
RoRka |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 21.12.2009 Репутация: нет Всего: нет |
Такой вот код не помог:
Но вариант с Mechanize мне очень даже подходит, поэтому в дальнейших "плясках" смысла не вижу. Спасибо, что пытались помочь. |
|||
|
||||
bilbobagginz |
|
|||
![]() Naughtius Maximus ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel Репутация: нет Всего: 317 |
RoRka, где-то я видел, что можно было сделать force_encoding = 'utf-8'
но если ты нашел другое решение - флаг тебе в ласты ![]() -------------------- Я ещё не демон. Я только учусь. |
|||
|
||||
niksan |
|
|||
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 13.9.2009 Где: Воронеж Репутация: нет Всего: нет |
я через Iconv делал у себя
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Ruby: Общие вопросы" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Ruby: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |