*** This script requires PxWSA Socket Library and PtokaX >= 3.3.21 ***
Кое-что удалось подчистить, исключить паразитные символы при выводе лент. Но UTF-8 парсить категорически не хочет. В чарсете - копался, и так, и эдак, но добиться, чтобы скрипт ХОТЬ КАК-ТО отображал RSS в кодировке utf-8, не получается. А жаль, есть пара сайтиков, ленты которых с удовольствием прикрутил бы к хабу. В чем тут может быть дело? В неправильной версии PxWSA? (?)
Прошу прощения за оффтоп, но мог бы заодно кто нить рассказать обо всём этом по подробнее! Как, чего и откуда берётся?! (по аналогии с каким то скриптом могу сделать а вот до конца понять не получается)
PS имеется ввиду взятие данных из инета
Автор: district 13.11.2008, 19:13
<тут я спросонья проповедовал прописные истины мимо кассы, извиняюсь>
Автор: Sephiroth_Lukaw 13.11.2008, 19:52
Библиотека дополнительная нужная для работы с utf-8. upd. Прикрепил, проверял, даже использовал, рабочая она. upd. Собственно, нашёл гуглом, откуда я её скачивал. http://mydc.ru/r/?http://adrium.ipbfree.com/index.php?showtopic=125
ммм.. собственно, за ссылку спасибо, за архив тоже. Правда, поскочивши в три ночи и глядя в экран, пока мало что понимаю по -моему, это немного из другой оперы. В скрипте есть свои внутренние чарсеты (таблицы соответствия кодов символов и самих выводимых символов). Таблиц три, кодировок тоже три. Две работают, та, что отвечает за утф-8 - нет. Проверил скрипт "magnet", как рассказано по ссылке. Скрипт работает, дублирует белиберду магнет-ссылки нормальным названием файла. (Правда, в новых клиентах, PeLink например, это уже реализовано - ссылочка подается без посторонних символов, как на блюдечке) Прикрутил для пробы ленту в кодировке утф-8, запросил - опять кракозяблы. Или я чего-то пока что недопонял, или проблема в другом. :xz:
Автор: Sephiroth_Lukaw 14.11.2008, 0:49
Я в этот скрипт как-раз таки(т.е. под API 1) вставлял поддержку UTF-8. Сейчас прикреплю его. upd. Прикпрепил. api.dll в каталог scripts ложи.
Он у меня и родную рабочую папку со ссылками на RSS ленты вычитал на раз. Но результат пока тот же: кракозяблы. И в папку скриптс клал дллку, и в "либс", и в корневой каталог Птоки, как рекомендовано по приведенной выше ссылке на Адриум.
Автор: Sephiroth_Lukaw 14.11.2008, 3:14
Перезалил и rar'ом сжал, теперь надо в описании ленты с UTF-8 вписывать "UTF-8", к примеру:
Как определять utf-8 в lua не знаю, сознаюсь, так что сделал так. )
Автор: district 14.11.2008, 9:55
Что ж, спасибо коллеге за ночной "мозговой штурм". Что мы имеем? Мы имеем частичное решение проблемы за счет стороннего (не-штатного) dll и кое-каких дополнительных ухищрений. И можно бы это было так и оставить, но! Паразитные символы исходного кода ленты, как-то:
Цитата
[6] = "</span>", [7] = "</p>", [8] = "</a>",
, будучи учтенными в самом скрипте, в выводимом тексте не-утфного кода - не отображаются. Обработкой утф-8 теперь, насколько я понял, занимается не скрипт, а та самая сторонняя дллка. Поэтому победить эти самые символы в выводимом тексте утф-8 и получить нормальный текст без мусора - пока не получается. В общем, вопрос остается в известном смысле открытым. Мне лично все-таки кажется, что есть какая-то ошибка в самом скрипте, ведь он изначально был под LUA 5.0, и вот на этапе апгрейда что-то было упущено. А правильно скрипт называется " bRSS v.2.3 LUA 5 b.y: S.t.0.n.e d.b Частичный перевод, модернизация, подбор оформления лент by Der Schaman"
Автор: sphinx 20.11.2008, 9:24
Цитата(district @ 13.11.2008, 18:51)
есть пара сайтиков, ленты которых с удовольствием прикрутил бы к хабу.
Зашел, увидел, ощутил )) И в чем фокус-то? В том, что "This Hub Is Running PtokaX DC Hub 0.4.1.1" ? Так это увы не мой случай... И еще - ссылки не отображаются (не подсвечиваются).
Setuper
За ссылку как обычно, "спасибо", но там "без бутылки не разберешься", и "я столько не выпью" Обязательно поизучаю, как разгребу более насущное.
Автор: sphinx 20.11.2008, 21:01
Цитата(district @ 20.11.2008, 14:41)
sphinx
Зашел, увидел, ощутил )) И в чем фокус-то? В том, что "This Hub Is Running PtokaX DC Hub 0.4.1.1" ? Так это увы не мой случай... И еще - ссылки не отображаются (не подсвечиваются).
Какие ссылки? что-то не догнал я. И это не к тому, что версия новая. Я на нее перешел неделю назад Тебе нужна таблица перекодировки UTF8 - 1251. Найти ее несложно, сделать автозамену еще проще, дерзай!
А вообще, библиотека отвечает только за получение текста, а парсинг - перекодировку, форматирование и т.п. - делается скриптом.
Автор: district 20.11.2008, 21:28
sphinx
Цитата
библиотека отвечает только за получение текста, а парсинг - перекодировку, форматирование и т.п. - делается скриптом.
Вот и я о том же, что скрипт как надо не работает, таков и сабж топика, собственно. Будь добр, выложи тот, что у тебя стоит? Если не жалко.
http-ссылки в RSS-потоках, полученных в не-утфной кодировке, у меня подсвечиваются и работают. При получении ленты по вышеуказанной ссылке у тебя на хабе - ссылки в ней выглядели просто как обычный текст, вот я о чем.
Автор: Wariner 20.11.2008, 21:39
Цитата(district @ 20.11.2008, 21:28)
ссылки в ней выглядели просто как обычный текст, вот я о чем.
Так это зависит от того как написанна ссылка. если есть http:// (dchub:// и т.д.) то она будет подсвечена если нет то не будет... Или я не о том?
Автор: district 21.11.2008, 0:17
Wariner
Немного не о том. Дело в том, что у меня при вызове ленты в кодировке утф-8 нормально ссылки показываются, и латиница. Т.е. в исходном коде RSS все правильно. Проблема только в том, что скрипт не парсит кириллицу.