[Perl] Проблема с кодировкой при отправке HTTP-запроса на livejournal.com26.03.07 16:15 Автор: n0xi0uzz <Черкасов Виктор> Статус: Member Отредактировано 26.03.07 18:24 Количество правок: 2
Реализую возможность при добавлении новости на портал, отправлять её в коммьюнити на livejournal.com через специально зарегистрированного для этого юзера. (Знаю, что изврат, но покупать платный аккаунт для экспорта RSS не хочется).
Получился примерно такой код:
---
Проблема в следующем: когда я в хедере явным образом указываю кодировку (в данном случае, это cp1251), сервер отказывается принимать запись, в которой присутствует русский язык, выдавая в ответ:
HTTP/1.0 200 OK Date: Mon, 26 Mar 2007 11:29:16 GMT Server: Apache Set-Cookie:
ljuniq=Kbs2qKFhr99ahsb:1174908556:pgstats0; expires=Friday, 25-May-2007 11:29:16 GMT;
domain=.livejournal.com; path=/ Content-length: 226 Connection: close Content-Type: text/plain
errmsg Client error: Protocol version mismatch: Posting in a community with international or
special characters require a Unicode-capable LiveJournal client. Download one at
http://www.livejournal.com/download/. success FAIL
---
Когда же кодировка не указана, то браузер автоматически воспринимает страницу в ISO-8859-1 и русский язык отсылается успешно, запись добавляется.
Не указывать кодировку в движке своего проекта я, естественно, не могу. Encode::from_to($text. "cp1251", "iso-8859-1"); не помогает и оставляет в $str одни лишь знаки вопроса. use encoding "cp1251" вообще все рушит. Что ещё делать, ума не приложу. Может быть, кто-нибудь что-нибудь посоветует?
[Perl] я в аналогичной ситуации для трансляции ezhe.ru/pravda в utf кодирую тело запроса26.03.07 17:36 Автор: dl <Dmitry Leonov> Отредактировано 26.03.07 17:40 Количество правок: 1