2012-02-24 16 views
3

バイナリに転送モードを設定するルビーAPI Link)ではNet :: SFTPライブラリを使用する方法はありますか?私はWindowsシステムでunforunatelyして、UTF-8ファイルをUnixシステムにアップロードしています。 RubyライブラリはTextをデフォルト転送モードとして使用していて、ANSIで文字化けしてしまっています。私がバイナリモードを強制することができれば、UTF-8は十分な状態を保つ必要があります。ネット::(テキスト対バイナリ)SFTP転送モード

ありがとうございました

答えて

4

私は回避策を見つけました。

前に、我々はこのような何かをしていた。

sftp.file.open(filename) do |f| 
    f.puts(data) 
end 

は、私たちは、これがそうのようStringIOオブジェクトを、使用するように変更:

require 'stringio' 
io = StringIO.new(data) 
sftp.upload!(io, filename) 

アップロードを使用します!メソッドはバイトをコピーするだけでエンコーディングを尊重するようです。

希望に役立ちます。

+0

私はもはやWindowsシステムにはいませんが、わかりやすく、これは機能します!ありがとう! – wmarbut

+0

私のために働く。ありがとう! –

関連する問題