Gtk2::Perl付近がなんか変わってるぽい・・・
メイン環境をArch Linuxで作りなおしているところだが、自作のGtk2::Perlアプリが文字化けしてた。
モジュールは、
WWW::Mechanize、Gtk2、GStreamerを追加インストールしたが、全部Archの公式リポジトリから入れれた。
元々、
利用しているモジュールのどれかにutf8フラグがついたんだと思う。
PerlのバージョンはUbuntuは5.14?Archのは5.18だった。
もういまさら戻ることはありえないが、PerlのUTF-8の扱いはひどすぎ。
単にusubstrとかulengthとかUTF-8関数があれば済むのにutf8フラグでファイル全体がUTFかするから、
日本人だってプログラムコードは基本バイト単位で書くのに、マルチバイト文字を知らない外人がモジュールにutf8フラグつけるから困るわ。
モジュールは、
use Time::Local;
use WWW::Mechanize;
use Gtk2;
use Glib;
use GStreamer -init;
use threads;
use threads::shared;
use Thread::Queue;
こんな感じで、use WWW::Mechanize;
use Gtk2;
use Glib;
use GStreamer -init;
use threads;
use threads::shared;
use Thread::Queue;
WWW::Mechanize、Gtk2、GStreamerを追加インストールしたが、全部Archの公式リポジトリから入れれた。
元々、
use open ":utf8";
しているファイルがいくつかあって、作った当時は、単に、
use utf8;
するだけではダメだったんだが、それが必須で、元の設定じゃ文字化けした。利用しているモジュールのどれかにutf8フラグがついたんだと思う。
PerlのバージョンはUbuntuは5.14?Archのは5.18だった。
もういまさら戻ることはありえないが、PerlのUTF-8の扱いはひどすぎ。
単にusubstrとかulengthとかUTF-8関数があれば済むのにutf8フラグでファイル全体がUTFかするから、
日本人だってプログラムコードは基本バイト単位で書くのに、マルチバイト文字を知らない外人がモジュールにutf8フラグつけるから困るわ。