autolinkで文字化け†
- ページ: BugTrack
- 投稿者: reimy
- 優先順位: 重要
- 状態: 完了
- カテゴリー: 本体バグ
- 投稿日: 2003-11-16 (日) 17:34:42
- バージョン: 1.4.1
メッセージ†
autolink=0のときは文字化けしないが、autolinkを有効にすると記事の表示で文字化けが発生するという報告が複数あります。
1.4では発生しないが、1.4.1で発生するようです。
- autolinkのパターン生成ルーチンのバグです。以下の条件が重なって露呈しました。 -- ぱんだ
- もともと、AutoLinkすべきページ名がひとつもないときに、このような問題が発生するバグがあった*1
- BugTrack/482で、英字のみのページ名と、そうでないページ名のパターンを分けた
- 配布パッケージに、5文字以上の英字のみ(かつ、WikiNameではないページ名。Hyperなど。)のページ名が含まれていなかった
- (おそらく)設置者が$autolinkを5以上に設定した
- なお、PHPのmbstringサポートの有無とは関係ありません。
- cvsに投入しました。 cvs:func.php(v1.4:r1.54) パッチは以下。 -- ぱんだ
diff -u -r1.53 func.php
--- func.php 5 Nov 2003 10:58:39 -0000 1.53
+++ func.php 16 Nov 2003 12:15:39 -0000
@@ -521,6 +521,11 @@
}
function get_autolink_pattern_sub(&$pages,$start,$end,$pos)
{
+ if ($end == 0)
+ {
+ return '(?!)';
+ }
+
$result = '';
$count = 0;
$x = (mb_strlen($pages[$start]) <= $pos);
- これは致命的ですね。すでに使っている人に問題は出にくいかもしれませんが、配布パッケージを展開した素の状態だと、$autolinkを5以上にしただけ*2で
例外なく問題が発生します。 1.4.2出します。 -- ぱんだ
- 問題が出た場合、autolink.datが壊れていますので、上記パッチを当てたあと、適当なページを更新してautolink.datを再生成してください。 -- ぱんだ