2007/06/23

MP3::Tag

mp3にID3v2タグを埋めようとして、MP3::Tagを使ったが、iTunesで文字化けした。
iTunesはUTF-16LE with BOMじゃないと駄目らしい。

Mp3::Tag::ID3v2で対応してる文字コードがiso-8858-1,UTF8, UTF16 with BOM, UTF-16 no BOMだけでUTF-16LE with BOMがない。
なので、MP3::Tag::ID3v2のサブクラスを作って、UTF-16LE with BOMに対応させた。

2007/06/16

やっぱり駄目か


以前携帯で記事を投稿してみると見事に文字化けしていた。
携帯の機種変更をしたので(大分前だけど)、今度も文字化けするかどうか試してみた。

文字化けチェックと入れた件名が「1」になり、本文が空っぽになっていた。
まともに投稿できるauの携帯ってあるのかねー。

写真の本は弐瓶勉のバイオメガ。
BLAME!の黙々と進んで行く雰囲気がすきで、本屋で見かけたので買ってみた。
設定的にはBLAME!以前の時代の話になるだろうか。
東亜重工とか出てくるし。
BLAME!と違ってセリフが多いね。
まだ2巻しか出てないので、続きに期待。

よくわからんけど、はまった

自分が受け持ってる仕事じゃないけど、気になったので手伝おうとしたけど全くわからなかった。
mod_perl2、ModPer::Registryで動かしてるプログラムが、phpのブログツールをインストールしたら動かなくなった。
phpで使う(らしい) libmysqlclient.so.14だかを入れると動かなくなる。

mod_perl自体は動いていて、原因を探って行くとDB接続でエラーが出てていた。
エラーがMySQLのリファレンスにも載ってるこれ。
A.2.4. Client does not support authentication protocol エラー

んで、とりあえずパスワード形式を古いのに変更。
UPDATE user SET Password = OLD_PASSWORD('mypass')
webで適当にあさった情報によるとたいていこれで解決して、おめでとうって話なんだけど、これをやっても駄目だった。

接続自体はできるようになったけど、
$sth = $dbh->prepare( $query ) or die $dbh->errstr;
prepareを実行すると、エラー出力もでないし、標準出力も出ない状態になってしまった。

perlのDBI関係のモジュールが悪いのか、ModPerl::Registryが悪いのか、MySQLが悪いのかさっぱりわからなかった。
mod_perlじゃなくてCGIとして実行するとエラーもなく普通に動いていた。
libmysqlclient.so.14を入れて最初のエラーがでるってことは、clientが変更されてるってことだよね。
何気なくMySQLとかをDBIとかモジュール経由で使用してるけど、実際どうやってDBにアクセスしたりしてるのか知らないことに気づいた。
DBI、DBD::mysqlあたりのソース読めば何かわかるだろうか。

2007/06/09

DBICのメモ

VMwareで動かしているUbuntu上でCatalystを試している。
ModelにDBICを使っているけど、DBICはさっぱり使ったことがないのでメモ。

いまさら自分で書くのもあれなんで、情報がまとまってたサイト。
Perl/DBIC
[DBIx::Class][DBIC][perl] DBIx::Classのリレーション

後はcpan
DBIx::Class::Manual::Intro
DBIx::Class::ResultSet

とりあえずこれを読んでおけば、なんとか使えるようになった。