次のコードを実行して「日本語」と入力してもそのとおり表示されません。
環境
Ruby 2.4.3p205
Windows10
Windows PowerShell 5.1.16299.251
コード ページ 932 (ANSI/OEM-日本語Shift-JIS)
フォント MSゴシック
test.rb
ruby
1str = gets.chomp 2p str.encoding 3p str
実行結果
PS C:\Users\username\desktop> ruby test.rb 日本語 #<Encoding:UTF-8> "\x93\xFA\x96{\x8C\xEA"
試したこと。
force_encodingメソッドを使っても結果は同じでした。
ruby
1str = gets.chomp.force_encoding("utf-8") 2p str.encoding 3p str
ARGVは入力した文字列のまま表示されます。
Macのターミナルではgetsで取得しても問題なく表示されます。
バイト列と文字列の違いに問題があるのかと思うのですが、やり方がわかりません。
getsで取得した日本語をPower Shellにそのまま表示させるやり方が知りたいのでよろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/11 01:37
2018/04/11 01:40
2018/04/11 01:48
2018/04/11 02:27
2018/04/11 02:34
2018/04/12 00:46
2018/04/12 01:04
2018/04/12 04:21
2018/04/12 08:04 編集
2018/04/13 00:12