Je suis en train de télécharger certains fichiers à partir d'un serveur distant en utilisant la classe Net :: FTP Ruby est mon code iciRuby Net :: FTP - Le téléchargement de fichiers à partir d'un serveur
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
Je reçois les erreurs suivantes
$ 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>'
Les fichiers tagrégés sont codés SJIS.
Qu'est-ce que je fais mal? toute aide très appréciée! Merci
* Les fichiers tagrget sont codés * SJIS Le problème est très probablement le nom de fichier plutôt que le fichier. Contenu. – Leon
@Leon oui le problème est avec les caractères unicode dans le nom de fichier –
Que renvoie 'ftp.list' sur le lieu? –