質問: gets.chomp.force_encoding("utf-8") p str.encoding p str ``` ARGVは入力した文字列のまま表示されます。 Macのターミナルではgetsで取得しても問題なく表示されます。 バイト列と文字列の違いに問題があるのかと思うのですが、やり方がわかりません。 getsで取得した日本語をPower Shellにそのまま表示させるやり方が知りたいのでよろしくお願いいたします。
回答: pではなく、putsを使用してください。 こちらの手元でも再現しました。 PowerShellの「現在のコードページ」がShift-JISになっているためと考えられます。 以下で日本語にはなるはずです。 ``` puts str.force_encoding("SJIS") ```