2013-02-23 71 views
1

要首先解决这个问题..我已经在utf-8编码下重新编译了eggdrop。如果我在字符串中编写转义序列(\u00a7),我能够回显utf-8字符,但出于某种原因,我还无法弄清楚。我无法使用正则表达式将它们与其对应物进行比较。无法通过eggdrop将utf-8字符转换为html实体

我正在尝试开发一个基于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] 

而我等功能用于替换转义序列,因为他们应该工作。我不知道我之前在研究中错过了这一点。

相关问题