[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]
[webdav-jp:0286] Re: Japanese filename on FreeBSD 4.5
こんにちは、山田です。
>> この状態で、Windowsから見たwebフォルダに日本語ファイル名のついた
>> ファイルを投げると文字化けしてしまいます。
>> [snip]
>> 要するにiconvかな…という気がするんですが、何かお分かりになる方が
>> いればサジェストをお願いします。
ちょっと SJIS のままスルーしてしまっている原因の見当はつきませんが、
とりあえず LogLevel debug にすると最終的に変換を諦めた(適切な
コンバータが見つからなかった)のか、変換中に失敗したのかを見ることが
できます。
あとは、iconv(3) とセットで iconv(1) も入っていると思うので、
$ iconv -f SJIS -t EUC-JP < infile > outfile
などとして変換できるかどうか、というところですね。
# オプションや実際に使えるエンコーディング名は異なるかもしれません
> 以前手元の環境(FreeBSD 4.5stable)で試したところ、iconv() ルーチン
> あたりで無限ループに陥りました。
もしモジュール中で無限ループするとしたら iconv の変換処理結果を
チェックする所が怪しいです。手元のマニュアルでは iconv の仕様は
1. 変換できた時は非可逆な変換を行った件数を返す。変換待ちバッファの
長さは 0 にセットされる。
2. 変換できない、もしくはエラーの際は (size_t)(-1) を返す。細かい
原因は errno にセットされる。
となっていますが、これがループする環境でも期待できるかどうか、
ちょっと man 3 iconv で調べてみて頂けないでしょうか?
--
Taisuke Yamada <tai@xxxxxxxxx>
Internet Initiative Japan Inc., Technical Planning Division