LINUX.ORG.RU
ФорумTalks

прокси перекодирующий кодировки


0

0

есть тупой девайс понимающий только одну кодировку. сущесвуют ли в интрнетах прокся который все кодировки, особенно юникод, перекодировывает в одну, или программа такая я б на свой сервер поставил

> программа такая я б на свой сервер поставил

в конфиге squid указываешь в поле url_rewrite_program скрипт который скачивает все *html, *htm, *asp, *php странички в кеш и прежде чем дать ссылку в кеш, их перекодирует. Только надо выудить исходную кодировку страницы — возможно для этого умельцы уже написали какой-нибудь perl-модуль, иначе можешь просто парсить по строке 'content=«text/html; charset='. Потом со своего девайса ходишь в сеть через этот squid-прокси.

pupok ★★
()
Ответ на: комментарий от pupok

Всё бы ничего, но иногда кодировку отдаёт сам апач.

svr4
()
Ответ на: комментарий от Eddy_Em

эта enca работает только в простейших случаях и вероятность успеха далеко не 100%. Так что для автоматической перекодировки не годится.

pupok ★★
()
Ответ на: комментарий от pupok

кроме того, строку 'content=«text/html; charset=XXX' всё равно придётся править — так что её в любом случае придётся искать.

pupok ★★
()
Ответ на: комментарий от pupok

Не факт, что эта строчка будет: многие не пишут кодировку в заголовке веб-страниц, т.к. все равно кодировку отдает сервер, а что написано в заголовке - по барабану.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

> многие не пишут кодировку в заголовке веб-страниц, т.к. все равно кодировку отдает сервер

ну значит это тоже надо предусмотреть (правда не уверен где это в squid делается). Но то что эту пионерскую поделку enca здесь не стоит использовать — это точно.

pupok ★★
()
Ответ на: комментарий от pupok

Если это делать при помощи squid, то достаточно просто читать заголовки, отправляемые сервером - там как раз кодировка и указывается.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от pupok

Кстати, а почему вы называете enca пионерской поделкой? У меня еще ни разу сбоя не давала... Возмущается только в том случае, если файл перекодирован несколько раз (например, koi->utf->latin).

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

> почему вы называете enca пионерской поделкой?

если в файле только «мама мыла раму» — то кодировку распознаёт безошибочно. А если это XML или ещё какой-то не-текстовый формат (тот же HTML к примеру) — у меня иногда выдаёт ерунду.

pupok ★★
()
Ответ на: комментарий от Eddy_Em

> Если это делать при помощи squid, то достаточно просто читать заголовки, отправляемые сервером - там как раз кодировка и указывается.

ну так и я про то же. Только где в конфиге squid указывается как он обрабатывает http-хидеры?

pupok ★★
()
Ответ на: комментарий от pupok

Ну, не знаю, не сталкивался... У меня обычно и html, и xml, и латеховскую разметку нормально съедал, правильно распознавая кириллическую кодировку.

Eddy_Em ☆☆☆☆☆
()

> все кодировки, особенно юникод, перекодировывает в одну

это простите как ? вам известна ещё одна универсальная кодировка ??

MKuznetsov ★★★★★
()
Ответ на: комментарий от MKuznetsov

вам известна ещё одна универсальная кодировка ??

КОИ-7 :)

Eddy_Em ☆☆☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.