From: Kazuhiro N. <zn...@mb...> - 2004-04-15 08:20:55
|
西山和広です。 In <200...@hi...> On Thu, 15 Apr 2004 01:11:32 +0900 Masao Mutoh <mu...@hi...> wrote: > とりあえず、これだけ実装してみました。 > > GLib.utf8_validate(str) #=> true of false > > です。 > > GLib::UTF8モジュールを作って > GLib::UTF8.validateにしようかなぁとも思ったのですが > ちと大げすぎる気がしたのでこのようにしました。 > > どうでしょう。 下につけたような感じで使ってみました。 Errnoのようにlocaleに従ってeuc-jpが入っているエラーメッセージでも UTF-8でソースに埋め込んでいるエラーメッセージでもちゃんと表示できる ようになっていい感じです。 require 'gtk2' Gtk.init # ... def show_message(message, message_type) unless GLib.utf8_validate(message) message = GLib.locale_to_utf8(message) end unless GLib.utf8_validate(message) raise "invalid utf8 message: #{message.dump}" end dialog = Gtk::MessageDialog.new(@window, Gtk::Dialog::MODAL, message_type, Gtk::MessageDialog::BUTTONS_CLOSE, message) dialog.run dialog.destroy end def error_message(exc) show_message("#{exc.inspect}", Gtk::MessageDialog::ERROR) end # ... # エラーメッセージの例 begin File.open("no such file") rescue error_message($!) end -- |ZnZ(ゼット エヌ ゼット) |西山和広(Kazuhiro NISHIYAMA) |