Je pense que c'est une toute petite histoire, mais j'étais perdu pendant longtemps à cause d'informations inattendues. J'aimerais participer petit à petit à la qiita depuis un tel endroit.
Un programme qui affiche ce que vous obtenez dans Windows 10 + Ruby 2.7.0.
miss.rb
str = gets.chomp
puts str
C'est tout, mais quand je suis entré en japonais avec des puts, les caractères étaient déformés. J'utilise habituellement VS Code, et je pensais qu'il était compatible avec la console et Ruby, mais cela ne fonctionnait pas à l'invite de commande. J'étais en train de déconner avec l'encodage du côté Ruby, et bien que recherché sur Google, j'étais confus par l'ancienne notation (obsolète) de ruby Ks, mais à la fin, elle était affichée en toute sécurité lorsque j'ai fait la section suivante.
correct.rb
STDIN.set_encoding "Windows-31J"
str = gets.chomp
puts str.encode("Windows-31J", invalid: :replace, replace: '')
Après tout,
Cela (je pense).
Cependant, ce n'est pas parfait, et si gets contient des caractères pleine largeur, les sauts de ligne ne seront pas bien reconnus et vous finirez par appuyer deux fois sur la touche Entrée. Je ne connais pas cette solution de contournement pour le moment. Eh bien, ce n'est pas un comportement qui me tient à cœur, alors pour l'instant j'essaierai de survivre avec ça.
Recommended Posts