[#46878] ML への投稿が blade.nagaokaut.ac.jp 以外にも — "ISHIKAWA Takayuki" <rechka_osaka@...>

石川と申します。この ML へ投稿した e-mail が

10 messages 2010/03/03

[#46909] gemを実行すると大量のワーニングメッセージ — garyo hosu <garyohosu@...>

こんにちはgaryoといいます。

16 messages 2010/03/16
[#46910] Re: [ruby-list:46909] gemを実行すると大量のワーニングメッセージ — Moru <lateau@...> 2010/03/16

44Oi44Or44Go55Sz44GX44G+44GZ44CCCuOBvuOBmmdlbeOBruODkOODvOOCuOODp+ODs+OCkuei

[#46911] Re: gemを実行すると大量のワーニングメッセージ — garyo hosu <garyohosu@...> 2010/03/16

モルさん。さっそくありがとうございます。

[#46983] Ruby Summer of Codeのアイデアとかメンターについて — Shintaro KAKUTANI <shintaro@...>

Asakusa.rbのかくたにです。

12 messages 2010/03/31

[ruby-list:46921] Re: ruby/tkの文字コード

From: Hidetoshi NAGAI <nagai@...>
Date: 2010-03-17 03:35:15 UTC
List: ruby-list #46921
永井@知能.九工大です.

From: Masutoyo Kawamura <m-kwmr@po.hyper-tsukumi.jp>
Subject: [ruby-list:46915] ruby/tkの文字コード
Date: Tue, 16 Mar 2010 18:09:11 +0900
Message-ID: <20100316180912.3b777f2a.m-kwmr@po.hyper-tsukumi.jp>
> これまで、Perl/Tkを使ってきましたが、Ruby/Tkを始めようと思っています。
> Vine Linuxで作業しますが、Windows でも動作するようにしたいと
> 思っています。
> そこで教えて頂きたいのですが、スクリプトを書く文字コードは、
> どれが望ましいのでしょうか。
> utf-8, euc, shift-jis
> よろしくお願いします。

結論としては「どれでもご自由に」なのですが,
少し解説が必要かもしれません.

Ruby/Tk は "require 'tk'" の実行時の encoding 情報に基づいて,
どのように encoding の変換を行うかを決めています.

参考に Ruby ソースの ext/tk/sample/demo-jp/ ディレクトリ下を見てください.
ここにあるスクリプトはすべて euc-jp で書かれていますが,
GUI 上に限れば windows 上でもそのまま問題なく扱えていると思います.
GUI での文字化けはなく,entry widget 等への日本語入力なども OK です.

これは,ext/tk/sample/demo-jp/ の頭でスクリプトの encoding を
euc-jp に設定しているためで,Ruby/Tk はこれを根拠に,
Tk <-> Ruby の際に文字列の encoding を
自動的に euc-jp との間で変換しています.

つまり,スクリプトの文字コードが何であっても,
require 'tk' の際に $KCODE (ruby 1.8 の場合.1.9 ならマジックコメント) 
などでスクリプトの文字コードが何かを Ruby に教えておくか,
require 'tk' の後に "Tk.encoding = 'euc-jp'" などとして
encoding を指定するかをしておきさえすれば,** GUI 上は ** 問題なしです.
そうした意味では「どれでもご自由に」となります.

「 GUI 上は」と強調しているのは,
コンソールへの出力など Ruby 外への出力には面倒があるためです.
コンソールへの出力をすべて Tcl/Tk 側で行う場合ならともかく,
Ruby 側では単純に出力するとスクリプトの encoding となってしまいます.
スクリプトとコンソールとで encoding が違っていれば当然文字化けします.
ですが,この点は Ruby/Tk 自身の責任範囲ではないですよね.(^_^)
-- 
永井 秀利  (nagai@ai.kyutech.ac.jp)
九州工業大学 大学院情報工学研究院 知能情報工学研究系 知能情報メディア部門

In This Thread