追記 2019/03/28
VSCodeを新たにインストール。
PowerShell 6.2
Ruby 2.6
をインストールするとデフォルトで普通に表示された。
(UTF-8を利用できる設定にすること。)
Release v6.2.0-rc.1 Release of PowerShell Core · PowerShell/PowerShell
ダウンロードファイル
PowerShell-6.2.0-rc.1-win-x64.msi
Ruby Downloads
ダウンロードファイル
Ruby+Devkit 2.6.1-1 (x64)
結論
pをputsに変更する。
環境
Windows7 64bit
VSCode 1.19.1
Ruby 2.4.0p0 (2016-12-24 revision 57164) [x64-mingw32]
UTF-8
症状
putsメソッドなら正常だが、pメソッドだと文字化けして見える
例
puts 'あいうえお' #正常に見える
p 'あいうえお' #文字化け
実行
> ruby .\実行ファイル名.rb
結果
あいうえお
"\u3042\u3044\u3046\u3048\u304A"
対処方法
ターミナルから
-U オプションを付けて実行する
実行
> ruby -U .\実行ファイル名.rb
結果
あいうえお
"あいうえお"
半永久的に設定しておきたい場合
コントロールパネル>システム>システムの詳細設計
システムのプロパティウィンドウが表示される
環境変数>XXXのユーザー環境変数
新規
変数名 RUBYOPT
変数値 -U
VSCodeを再起動
※再起動必須
※PCの再起動は必要ない
処方結果
ターミナルから
実行
> ruby .\実行ファイル名.rb
結果
あいうえお
"あいうえお"
その後
ターミナルからなら綺麗に表示されるようになったが、
Run Codeからは別の新たな文字化けが・・・
Run Codeから実行する。
結果
"����������"
����������
疲れたよ・・・
なので元に戻した。
その後の対処方法
pをputsに変更する。
Rubyの文字コード設定ってどうなっているの???
Windowsのシステム環境変数だったり
ターミナルのオプションだったり
ファイルの上の Shebangだったり
WindowsやめてMac使いたいよ・・・