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を足してあげてください。