Redmine日本語ファイル名の添付ファイルが表示できない問題

最新版のbitnami Redmine Stack(3.0.1.-0)をWindows2012server r2にインストールしてみたときにハマりました。

添付ファイルをアップロードしたまでは良かったのですが、いざそのファイルをRedmine上で表示させてみようとした時にhttp500 errorが表示されてしまいました。

 

調べてみると「aaa.txt」等のascii文字のみのファイル名は問題無し、

「あああ.txt」等の2バイト文字を含むファイル名でエラーが起きている様子。

 

どうやらファイル名のエンコーディングに問題が有りそうだとググってみるとありました。

 

www.redmine.org

 

この記述にあるように、(Redmineインストールフォルダ) \apps\redmine\htdocs\vendor\bundle\ruby\2.0.0\gems\actionpack-4.2.0\lib\action_dispatch\middleware\static.rb の32行目を、

path = File.join(@root, p) → path = File.join(@root, p.force_encoding('UTF-8'))

に変更してRedmineを再起動すると、、、、表示できた!

 

この修正でSVN上の日本語ファイル名のファイルが表示できない現象も解決しました。