« ADO.NETでmySQL接続 その3 | メイン | トークンとやらを登録しました »

2005年03月12日

仕事の周辺 » .NET

ADO.NETでmySQL接続 その4

話せば長いのですが、せっかくなので残しておきましょう。
mySQLへの接続文のcharset=utf8をcharset=ujisに変更したところ、ujisなんて知らない、といわれ、確認したら、確かにujisが出てこない。で、portsでmySQLを
make WITH_CHARSET=ujis WITH_XCHARSET=all install
インストールし直す。これが泥沼のもとでした。

portsを最新にしてからインストールしたので、4.1.10がインストールされました。これが何故か起動してくれない。
今まですんなりインストールできていたので、全てが一からの泥沼状態。直接起動しようとすると、ルートで起動するのは危険だと言われmysqlにsuしようとしたら、このアカウントは一時的に使えません、と言われこれが原因だと思い込み…。アカウント削除してからインストールし直したり、自分でアカウント追加したり(^^;)。
suできなかったのは、ログインする必要のないユーザーとして作成されているらしいこと。
mySQLが起動しなかったのは、mySQLを起動するには、 /etc/rc.conf に追加しろ、と言うメッセージを見落としていたため。
苦労してやっと起動したujis版mySQLですが、.NETから接続すると相変わらず同じエラーで落ちてしまう(T_T)。
根気のない私は、またperl+UTF8の方向で気分転換。結果、こちらでうまくいきました。
ここのFAQ「version 4.1 以上の文字コード変換機能とうまくつきあうには? 」を参照、SET NAMES utf8 をCGI側に追加することで、.NETのグリッドにきれいな日本語が張り付きました。
UTF8はAxKitの初期に散々苦労したので、マイクロソフトのユニコードと標準ユニコードの違いとか、もっと根の深いものだと思ってました。まだあまりテストしていないのでぬかよろこびかも知れませんがひとまず、めでたし、めでたし。

投稿者 idic : 2005年03月12日 13:08

コメント

コメントしてください

サイン・インを確認しました、 さん。コメントしてください。 (サイン・アウト)

(いままで、ここでコメントしたとがないときは、コメントを表示する前にこのウェブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)


情報を登録する?