서버에서 파일을 다운로드하면 내 코드루비 넷 :: FTP는 - 여기 루비의 순 :: FTP 클래스를 사용하여 I 원격 서버의 특정 파일을 다운로드하려고
require 'net/ftp'
ftp = Net::FTP.new
ftp.connect('mydomain', '21')
ftp.login('username', 'password')
ftp.passive = true
ftp.chdir("testing")
ftp.getbinaryfile('個人情報.csv', 'test1.csv')
puts "#{Time.now} > Downloaded 個人情報.csv."
ftp.getbinaryfile('住所.csv', 'test2.csv')
puts "#{Time.now} > Downloaded 住所.csv"
ftp.close
나는 다음과 같은 오류를 얻고있다
$ ruby ftp_download.rb
/usr/local/lib/ruby/2.3.0/net/ftp.rb:340:in `getresp': 451 No mapping for the Unicode character exists in the target multi-byte code page. (Net::FTPTempError)
from /usr/local/lib/ruby/2.3.0/net/ftp.rb:367:in `block in sendcmd'
from /usr/local/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize'
from /usr/local/lib/ruby/2.3.0/net/ftp.rb:365:in `sendcmd'
from /usr/local/lib/ruby/2.3.0/net/ftp.rb:424:in `transfercmd'
from /usr/local/lib/ruby/2.3.0/net/ftp.rb:501:in `block (2 levels) in retrbinary'
from /usr/local/lib/ruby/2.3.0/net/ftp.rb:214:in `with_binary'
from /usr/local/lib/ruby/2.3.0/net/ftp.rb:499:in `block in retrbinary'
from /usr/local/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize'
from /usr/local/lib/ruby/2.3.0/net/ftp.rb:498:in `retrbinary'
from /usr/local/lib/ruby/2.3.0/net/ftp.rb:632:in `getbinaryfile'
from ftp_download.rb:26:in `<main>'
tagrget 파일은 SJIS으로 인코딩되어 있습니다.
내가 뭘 잘못 했니? 도움이 많이 감사! 고마워요
* tagrget 파일은 SJIS 인코딩 된 * 문제는 파일 이름이 아닌 파일을 가능성이 높습니다. 내용. – Leon
@Leon 예 파일 이름에 유니 코드 문자가있는 문제가 있습니다. –
장소에서 'ftp.list'는 무엇을 반환합니까? –