個別記事
MTとMySQL4.1の組み合わせで不具合
- この記事が属するカテゴリー
- Movable Type
このサイトの話ではないのですが、MovableType と MySQL4.1 の組み合わせで、2バイトが文字化けしてしまい、正直ここらへんの事は全然知識がないんで、マジで困っていました。でも、「iandeth.: Movable Type + MySQL 4.1 を組み合わせると日本語が文字化けする不具合/障害の解決方法」を見て何とか回避できました。ホント助かりました、感謝です。
実際に行った作業は、lib/MT/ObjectDriver/DBI 内にあるファイル mysql.pm の52と53行目の間に強調部分を一行挿入。
$driver->{dbh} = DBI->connect($dsn, $cfg->DBUser, $cfg->DBPassword,
{ RaiseError => 0, PrintError => 0 })
or return $driver->error(MT->translate("Connection error: [_1]",
$DBI::errstr));
$driver->{dbh}->do("SET NAMES utf8");
$driver;
問題のサイトは UTF-8 なんで、オラオラっと明示的に文字コードを UTF-8 と指定して完了です。
そもそもは、Berkeley DB から MySQL への移行作業にて、mt-db2sql.cgi を叩くと、カテゴリー付近の読み込みでエラーが出て進まなかったことに端を発しました。
Insertion test failed on SQL error Duplicate entry '1-' for key 2
ライセンスを購入してたんで、サポートの方に問い合わてみた所、下記の様な返答がありました。
ご返答いただきました内容から、お問合せのエラーは、MySQL 4.1 以降をお使いで、UTF-8 以外のエンコーディングを使用する際に起こる現象のようです。現在、詳細については確認中ですが、暫定の回避方法として、 Movable Type とデータベースのエンコードを UTF-8にてご利用いただくか、MySQL のバージョンを 3.23.xへと下げていただくことをご案内させていただいております。
MySQL4.1 からは、クライアントとサーバー両方で文字コードの設定を行わなければいけないと。phpMyAdmin で確認したら、「 MySQLの文字セット: UTF-8 Unicode (utf8)」。MT で使用しているデータベースを確認したら、「照会順序」欄が「ujis_japanese_ci」になってる。なんで、テーブルを全部削除して、phpMyAdmin で照会順序を「utf8_general_ci 」と設定し、再度移行してみたとろこ、無事に移行完了。ヒャッホウと浮かれたのも束の間、2バイトが全て文字化け。困っていたところ、上記サイトに出会い無事に解決したっつう事でした。
2005-03-17T19:46:58+09:00
| コメント (0)
| トラックバック (2)
|
関連性が高いエントリー 5 件
トラックバック
- このエントリーのトラックバックURL:
- http://WWW.lucky-bag.com/cgi/mt/mt-tb.cgi/184
このリストは、次のエントリーを参照しています: MTとMySQL4.1の組み合わせで不具合:
- avoidnote さんからのトラックバック
- MySQL 4.0x Movable Type のデータを MySQL 4.1 へ
- MySQL 4.0x Movable Type のデータを MySQL 4.1 へインポートする際のメモ。 [続きを読む]
- 2005年08月30日 06:16
- オオカミさんに囲まれた、か弱きヒツジのブログ さんからのトラックバック
- DB移管
- Internal Server Error 500が多発するため、DBの移管処理... [続きを読む]
- 2007年04月07日 22:36
コメント
"MTとMySQL4.1の組み合わせで不具合"へのコメントはまだありません。
コメントしてください
コメント内ではタグは一切使えません。コメント内にてタグを表記したい場合は、お手数ですが、文字実体参照を利用して < を < 、> を > とそれぞれ置き換えてください。