修正Twiki4.2.2的一个Bug

美国yahoo内部人员文档交流使用的的twiki页面是twiki页面,但是twiki对UTF-8汉字处理不太好,导致一些莫名其妙的问题,如字体从上到下,越来越大。为了解决这个症状,本人跟踪了一下这个原因,应该是twiki的一个bug。

我们知道在firefox里面字体url转码和不转码是没有什么区别的,但是在ie6下必须要url转码,否则ie6就会成为乱码,(ie7正常)于是:
1,修改TWiki/Render.pm文件:
找到函数:
sub makeAnchorName {
在函数末尾修改返回值为:
return urlEncode($anchorName);

接着在该函数后面加上函数urlEncode:

sub urlEncode {
    my $text = shift;
    $text =~ s/([^0-9a-zA-Z-_.:~!*'\/%])/'%'.sprintf('%02x',ord($1))/ge;
    return $text;
}

2,修改TWiki.pm文件:
找到函数:
sub _make_params {
修改:
$anchor .= '#' . shift( @args );

$anchor .= '#' . urlEncode(shift( @args ));
即可。


这次升级TWiki,我发现一个更加简单的修改这个Bug:

  • Version: TWiki 4.0.0-4.2.3+
  • Reason: display
  • You can use tool like vim etc. To edit the lib/TWiki/Render.pm, Add function urlEncodeIntercept (line 437) above sub _linkToolTipInfo {, like this:
    sub urlEncodeIntercept
{
my $text = shift;
$text = crypt($text, "salt");
return $text;
}
  • Find and change (line 427):
    return $anchorName;
  • to:
    return urlEncodeIntercept($anchorName);

Bug地址:http://twiki.org/cgi-bin/view/Main/SimToUtf8



Categories

| | 评论(0)

Post a comment

关于此日记

此日记由Cnangel发表于2008年8月15日 15:37

此Blog上的上一篇日记PHP 4官方支持结束

此Blog上的下一篇日记使用和制作patch文件

主索引归档页可以看到最新的日记和所有日记。

2008年10月

Sun Mon Tue Wed Thu Fri Sat
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
Powered by Movable Type 4.21-zh-cn