10963


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

dokuwiki\apps\dokuwiki\htdocs\data\media

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


CC BY-SA 3.0
2015-06-03T01:40:23.220
10922
2015-06-04T03:26:31.977
5818
question
php
dokuwikiで日本語のファイルをアップロードすると文字化けする。


[preservefilenamesプラグインのページ](https://www.dokuwiki.org/ja:plugin:preservefilenames)にメディアファイルの格納の仕組みが書いてありますが、正規化されて格納する仕様になっていると思いますので、これを元のファイル名のまま格納したい、というのであればご自身で改造するなりするしかないと思います。


CC BY-SA 3.0
2015-06-04T01:39:02.020
10961
2015-06-04T01:39:02.020
9515
10922
answer


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

[code]

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

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


CC BY-SA 3.0
2015-06-04T03:26:31.977
10963
2015-06-04T03:26:31.977
440
10922
answer