Ruby、JRubyのputs方法中国語文字化けし問題
516 ワード
問題の説明:
データベースから取った中国語はcmd運転モードで正常に表示され、rubymineでは中国語が文字化けしているのはなぜですか?
注記:ファイルの符号化と端末の符号化が一致するputsメソッドが正常に表示される限り、
一方、putsメソッドは、符号化フォーマットのある文字列オブジェクトに変換することなく、文字列のバイトを直接出力する.
この文はcmdコンソールで表示すれば問題ありません.
端末の符号化がutf-8であれば、iconvライブラリ変換を用いて、以下のコードで表示することができる
上の文はcmdの下で确かに中国语の文字化けして、更にファイルの符号化と端末の符号化の一致puts方法が正常に表示することができることを検证しました
データベースから取った中国語はcmd運転モードで正常に表示され、rubymineでは中国語が文字化けしているのはなぜですか?
注記:ファイルの符号化と端末の符号化が一致するputsメソッドが正常に表示される限り、
一方、putsメソッドは、符号化フォーマットのある文字列オブジェクトに変換することなく、文字列のバイトを直接出力する.
puts data['humanName']
この文はcmdコンソールで表示すれば問題ありません.
端末の符号化がutf-8であれば、iconvライブラリ変換を用いて、以下のコードで表示することができる
puts Iconv.new('gb2312', 'utf-8').iconv(data['humanName'])
上の文はcmdの下で确かに中国语の文字化けして、更にファイルの符号化と端末の符号化の一致puts方法が正常に表示することができることを検证しました