質問: ftp sjis 能など(2バイト目5c)文字 転送エラー ftp sjis 能など(2バイト目5c)文字 転送エラー お世話なります。 ftp転送において、ファイル名に能、表など(2バイト目が5c)を含むファイルをffftp、alftp等で転送しようとすると、応答コード550の転送エラーとなります。 shift-jisで能・表などの2バイト文字を扱う場合、2バイト目が5cだと、5cが「\」と認識され エスケープ文字になってしまう問題は有名のようですが、 どうすれば等不具合は解消できますでしょうか。 環境はredhatでシステム文字コードは「/etc/sysconfig/i18n」を確認したところutf-8です。 別のsoralis環境では文字コード「/etc/default/init」を確認したところで、 sjisですが、問題なく当該文字を転送できます。 ということはftpサーバプロセスがsjis文字を、認識するのにutf-8に変換する過程で読み取れずにエラーということでしょうか? ご教示いただけたら幸いです。 よろしくお願いいたします。
回答: 何をしようとしているか(なんのためにそんなことをしようとしているか) がわからないのですが、 そもそも日本語を含むファイル名のファイルをftpでサーバにアップロードしようとしていること自体が痛いと言わざるを得ません。 どうしてもやりたいならffftpというソフトにそれに対応した機能があります。ホストの設定を登録するときに、 「ホストの設定」→「文字コード」タブ→「ファイル名の漢字コード」 という項目のところにサーバ側でのファイル名の漢字コードを指定する箇所があり、ここで指定したファイル名に変換してアップロードしてくれます。 しかし先ほども述べましたように、日本語ファイル名をlinuxホストにアップロードするという行為は多少itをかじった人から見ると少し「痛い」行為に見えることは自覚しておいてください。 なお、完全にどっぷりつかったit技術者であれば「まあ別にそれもいいんじゃないか?」と言って許容してくれるどころか、相談する相手によってはたちどころに解決してくれたりするかもしれませんが、それはその人の厚意であって、当たり前のことではありませんのでご注意ください。 日本語ファイル名をサーバにアップロードして、何に使用されるおつもりですか?