ソース中の日本語
> "あ". [130,160]
一応マルチバイト文字にしてくれているようだ
って SJISかよw (Windows版をつかってます)
-module(text). -compile(export_all). str() -> "あ".
プログラムを書いてUTF8で保存して実行してみる
> text:str(). [227,129,130]
お UTF8だ
ちなみにShift-Jisで保存したら、
[130,160]
って、そうですか、バイナリそのまま見てるんですか。
Erlangの標準パッケージに「gs」と呼ばれるものがある。
バックエンドはtkらしい。
使えれば良いなぁ と思っていたが、案の定日本語がうまく通らない。
でだ、大体こういうのは内部エンコードと、GUI上のエンコードが違ってたりするんだよね。
- xmerl_ucs:from_utf8
- xmerl_ucs:to_utf8
このあたりを使えば良さそう。
GSを使う
-module(test). -export([start/0]). start() -> I= gs:start(), W= gs:window(I,[{title,"title"},{width,300},{height,300},{map,true}]), gs:button(W,[{label, {text,"button"}},{x,100}]).
これで 「"title"」や「"button"」に日本語を混ぜたり間にfrom_utf8,to_utf8なんかを入れたりしたけど、だめだ。
GSはあきらめることにする。
tk自体は日本語が食えないわけじゃないから、どこかをいじれば直るんだろうか?
てか、Erlang暦数時間の僕にはどうしようもない。