[ruby-list:49853] Re: encoding of backtrace
From:
Nobuyoshi Nakada <nobu@...>
Date:
2014-06-25 14:48:13 UTC
List:
ruby-list #49853
(2014/06/25 21:35), OHARA Shigeki wrote:
> ---- ここから ----
> ほげ
> ほげ
> z.rb:11:in `<main>': **ココが文字化け** (StandardError)
> ---- ここまで ----
>
> のように、 puts と warn は UTF-8 で出力されるのですが、
> 最後の例外の backtrace だけは EUC-JP になって文字化けしてしまいます。
>
> これはそういうものでしょうか?
> これを端末の encoding に合わせて出力する方法はあるでしょうか?
今のところは対応していません。変換できない文字があった場合にさらに例外
が発生してしまうのが悩ましいところです。
> あと、 set_encoding のくだりはもっとこうした方が良いというのがあれば、
> 教えていただけるとありがたいです。
>
> # もっとスッキリ書けないかというのと、
> # Encoding::CP51932 と即値で書いているところを、
> # ソースコードの encoding を取得したものをセットしたい。
ソースコードのエンコーディングは__ENCODING__で得られますが、String自体
がエンコーディングを持っているので、internal encodingを指定する必要はあ
りません。
--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦