- 137 名前:134 mailto:sage [2009/01/12(月) 21:40:12 ]
- >>135
0x80より大きい値とmb_flagが1のときだけエスケープされるはずです。 1.5.7.1以前のバージョンではmb_flagが無くて、0x80より大きい値という条件しかなかったので、 マルチバイト文字の2バイト目が「{」や「\」などの場合におかしくなってました。 mb_flagをマルチバイト文字の1バイト目で1にすれば、 次のバイトが0x80以下でもエスケープされるという仕組みのはずですが、 mb_flagの設定方法がまずくて、2バイト目でクリアされなくて さらに次のバイトまでエスケープされる場合がある、という状況です。 ttp://bugzilla.gnome.org/show_bug.cgi?id=437346 で、T.Matsuyama氏が提示したコードが正しく動くはずです。 #そこまで分かってるな自分でやれ、と言われそうだ…… すいません、環境作りが荷が重いですorz
|

|