IEからProFTPdにアクセスするとファイル名が文字化けする

Windows

この記事は 2013年4月に STBBS.NET Blogから移動されました。

日本でFTPサーバを運用する時はファイル名の文字コードセットをシフトJIS(CP932, MS932)に統一することが多いだろう。
ところが ProFTPd 1.3.1あたりから、RFC2640でいうところのOPTS UTF8コマンドを認識するようになったらしく、クライアントからの OPTS UTF8要求に OKを返してしまう。
OKが返った以上、クライアントはファイル名の文字エンコーディングとして UTF-8を使おうとするため、サーバ側で使用しているファイル名のエンコーディングが UTF-8で無い場合は適切にエンコーディング変換を行うよう設定してやらないと文字化けしてしまう。

OPTS UTF8要求をしてくるクライアントというのは他でもない Internet Explorerである。そのため、FFFTPでは文字化けしないのに IEでは化けてしまうという現象が起こる。「マイクロソフト製品に対してはシフトJISで何事も対応すべし」という原則を打ち破られた気分だ。

OPTS UTF8要求を受け付けないようにするには proftpd.confで

UseEncoding off

とすれば良い。エンコーディング変換を適切に行って対処するには(ファイルシステム上の文字エンコーディングがシフトJISの場合)

UseEncoding cp932 utf-8

とすれば良いと思う(試していない)。

参考: http://www.proftpd.org/docs/modules/mod_lang.html

同じカテゴリの記事

イントラネットアクセス時に Internet Explorerが勝手に互換モードで動作するのを阻止する 2013年11月5日
コマンドプロンプトから MS SQLServerのバックアップを取る 2009年12月11日
Windows Vistaで RDP7を使う 2009年6月12日
Oracle 11g ODBC Driver sqoras32.dllのエラー 2009年5月31日

お勧めカテゴリ

英語でアニメ観ようず
なじみ深い日本製アニメの英語版DVDで、字幕と音声から英語を学びましょうという趣旨のシリーズ記事です。
ScalaのようでJavaだけど少しScalaなJSON API
Scalaと Spring Frameworkを使って REST的なJSON APIを実装してみましょう。
ドクジリアン柔術少女 すから☆ぱいそん
代表 嶋田大貴のブログです。写真は神仏に見せ金をはたらく罰当たりの図