dokuwikiで日本語のファイルをアップロードすると文字化けする。

投稿者: Anonymous

windows7でdokuwikiを使い始めたのですが、日本語のファイルをアップロードすると
以下に置かれるファイル名が文字化けします。

dokuwikiappsdokuwikihtdocsdatamedia

アップロードしたファイルを保存する際は、preservefilenamesプラグインを使えば文字化け
しないことは見つけたのですが、アップロードされたファイル名自身が文字化けしないようにしたいです。アドバイスをいただきたく。

解決

https://github.com/kazmiya/dokuwiki-plugin-preservefilenames/blob/8b0cd3fc353ccfefd741685f7b0c548a23841e94/action_angua.php#L367

$class = preg_replace('/[^_-a-z0-9]+/i','_',$ext);

ここを見る限り、小文字の英字および数字 _ と – 以外は _ で置き換えられる様です。ですので @sugiyama-koichi さんが仰る様に文字化けではなく正規化ですね。
php が稼働するシステムのエンコーディングが異なる為の処置だと思います。これをやらないと保存出来ない場合もありますので妥当な処置かと思います。

回答者: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *