From: Kazuhiro NISHIYAMA Date: 2006-11-26T01:10:18+09:00 Subject: [ruby-dev:29952] printfは$KCODEの影響を受ける? 西山和広です。 こういう話を見つけたので試してみたところ、 Debian sargeのruby 1.8.2だと再現しなくて 自分でmakeした1.8.5だと再現しました。 | ハマったのでメモ。printfで$KCODEと一致しないマルチバイト文字列を出力 | しようとすると文字化けます(この場合だと最後の1バイトが消えるみたい)。 | | require "kconv" | s= "日本語".toeuc() | | $KCODE= "e" | puts(s) #=> 日本語 | printf("%s\n", s) #=> 日本語 | | $KCODE= "u" | puts(s) #=> 日本語 | printf("%s\n", s) #=> 日本ク -- |ZnZ(ゼット エヌ ゼット) |西山和広(Kazuhiro NISHIYAMA)