2013-02-23 1 views
1

Чтобы в первую очередь избавиться от этого пути. Я уже перекомпилировал eggdrop под кодировку utf-8. Я могу отбросить символы utf-8, если я напишу escape-последовательности в строках (\u00a7), но по какой-то причине я еще не могу понять. Я не могу сравнивать их, используя регулярное выражение для своих копий.Устранение неполадок utf-8 символов в html-объектах через eggdrop

Я пытаюсь разработать сценарий регистрации на основе eggdrop, закодированный под tcl. Я уже провел несколько часов, ничего не делая, кроме исследований, но либо там нет никакой помощи, либо я ищу не в том месте.

Входная строка, §, вводится пользователем в канале irc, который включен бот. Скрипт ведения журнала, сторона linux, интерпретирует этот символ как особый управляющий символ (I -think-), и он отображает в gedit как двухстрочный специальный символ, внешний вид которого выглядит как FFA7, с FF на первой строке и A7 на втором, все заключено в коробку.

Моя регулярное выражение довольно просто:

regexp -all {\u00a7} $text 

У меня есть, конечно, также пробовал:

regexp -all {\247} $text 

К сожалению, как уже было сказано .. он не работает. Я получаю 0 каждый раз, то есть он никогда не совпадает с персонажем.

Для всех исследований, которые я сделал, мне не удалось выяснить, какой формат eggdrop отправляет строки в сценарий tcl. Единственное, что было сделано - это скопировать этот коробчатый символ из gedit прямо в скрипт .. но, учитывая, что я не могу реплицировать этот символ, в противном случае это становится нецелесообразным для кода.

На вопрос .. Мне интересно, что я здесь делаю неправильно, если на самом деле есть правильный способ интерпретировать строку, посланную ботом, поэтому я могу правильно преобразовать специальные символы в нее в html-объекты ,

ответ

1

Для тех, интересно, может показаться из моего тестирования, что я решил это с простой:

set text [encoding convertfrom utf-8 $text] 

И мои другие функции работают для замены управляющих последовательностей, как они должны. Я не знаю, как я пропустил это раньше в своих исследованиях.