• ベストアンサー

Win32APIのFTPクライアントについて

SolarisサーバーからWininetAPIをファイル一覧を取得するFTPクライアントプログラムについての質問です。 FtpFindFirstFile関数を使用しWIN32_FIND_DATA構造体から取得したファイル名をリストボックスに表示しています。 このとき文字化けしてしまい正しいファイル名を取得できません。(タイムスタンプの同様です) EUCコードからS-JISへの変換が正しく行われていないようなのですが解決方法をご存知の方がおられましたら宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • todo36
  • ベストアンサー率58% (728/1234)
回答No.3

NextFTPで試したところ、やはり漢字ファイル名は文字化けしますが、EUC→SJISに 変換するオプションを選ぶと正しく表示されました。 つまり、EUC→SJIS変換は自動的に行われないので、FTPクライアント側で変換する 必要があります。 具体的な変換方法ですが、WindowsAPIに変換する関数がないようなので、 フリーのDLLを使うか自作するしかないですね。

参考URL:
http://www.toxsoft.com/nextftp/index.html
megxp
質問者

お礼

toda36様、ありがとうございました!! とても助かりました。やっと解決できそうです。 ありがとうございました。

その他の回答 (2)

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.2

Solarisは触れたことがないですが、 EUCコードからシフトJISに変換を行うライブラリがあるようです。 参考URLからDLしてください 使用方法は↓ http://www.geocities.co.jp/SilkRoad/4511/vb/nkf32dll.htm NKF32で検索をすると、結構ヒットします。

参考URL:
http://www.vector.co.jp/soft/win95/util/se033243.html
megxp
質問者

お礼

御指導ありがとうございます。 参考にさせて頂きました。とても助かりました。

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.1

うちもSolarisサーバーですが、 ↓のVBFTPで試したら、確かに漢字を含むファイル名は 化けます。 半角ファイル名の送信/受信も動きません。 # 明日、少し調べてみます。

参考URL:
http://www.microsoft.com/japan/support/kb/articles/JP175/1/79.asp
megxp
質問者

お礼

回答ありがとうございます。 正確には文字化けした日付とファイル名が一緒になって表示されるみたいです。 どうかよろしくお願いします。

関連するQ&A