http://shrimp.marokun.net/ を微妙に手入れ中です。元のあっきぃのパソコン小屋のURLでもアクセスできるようになったり、Wikiのスキンを変えたりしてます。で、ついでにWikiをUTF-8化しました。
しかし、日本語ページのURLが変わってしまうので、はてブとかブックマークとかリンクが切れてしまいます。それではなんかもったいないので、ざっと改造してみました。
plugin/read.inc.phpの中の、「// 無効なページ名」の手前に、下記のコードを追記します。
$utfpage = mb_convert_encoding(htmlspecialchars($page), 'UTF-8', 'EUCJP');
$utfpageurl = rawurlencode($utfpage);
if (is_page($utfpage)) {
// ページを表示
$vars['page'] = $utfpage;
check_readable($page, true, true);
header_lastmod($page);
return array('msg'=>'', 'body'=>'');
}
一応、これでEUCなURLでも開けるようになるはず……。もしくは、301リダイレクトかな。僕はこっちにしました。(2011/06/01追記)umoriguさんにご指摘を受けた分(rawurlencode分の追加)を反映しました。
$utfpage = mb_convert_encoding(htmlspecialchars($page), 'UTF-8', 'EUCJP');
$utfpageurl = rawurlencode($utfpage);
if (is_page($utfpage)) {
// リダイレクト
header("HTTP/1.1 301 Moved Permanently");
header("Location: $script?$utfpageurl");
exit;
}
後者のソースの場合、global命令に$scriptを足してあげてください。