Ruby、JRubyのputs方法中国語文字化けし問題

516 ワード

問題の説明:
データベースから取った中国語はcmd運転モードで正常に表示され、rubymineでは中国語が文字化けしているのはなぜですか?
注記:ファイルの符号化と端末の符号化が一致するputsメソッドが正常に表示される限り、
一方、putsメソッドは、符号化フォーマットのある文字列オブジェクトに変換することなく、文字列のバイトを直接出力する. 
puts data['humanName']

この文はcmdコンソールで表示すれば問題ありません.
端末の符号化がutf-8であれば、iconvライブラリ変換を用いて、以下のコードで表示することができる
puts Iconv.new('gb2312', 'utf-8').iconv(data['humanName'])

上の文はcmdの下で确かに中国语の文字化けして、更にファイルの符号化と端末の符号化の一致puts方法が正常に表示することができることを検证しました