MySQL5利用時のphpMyAdmin文字化け

| | コメント(1) | トラックバック(1) このエントリーを含むはてなブックマーク

 またくだらないことに時間をつぶされた。orz
先日、レコードの照会を全てbinaryにすることで一応PHPからの入出力に文字化けの問題がなくなったのだが、相変わらずphpMyAdminがcharset=utf-8でページ出力するためにphpMyAdmin上でSJISデータが入力できないだけでなく、複数のレコードを選択したりすると画面上でタグが破壊されて操作不能に陥る。MySQL4.0の時はメインページのLanguageで『日本語 - Japanese(sjis)』を選択すればよかったのがMySQL5だと『日本語 - Japanese』しかなくそれがutf-8になっている。リストを見た感じ他の言語も全部utf-8しか選べないようになってるようだ。

 それでhttpヘッダの方charset設定はどこだろうとgrepを駆使して探していたらどうもconfigになくてlibraries/database_interface.lib.phpにそれらしき記述がある。でもconfigでないのであまり弄りたくないので、ググって見ることにしたら…。やっぱりここしかないのか…。

 要するにMySQL4.1以上はlibraries/database_interface.lib.phpを使用しないように分岐されていました。ということで以前のようにShift-JISやEUCを選択したときは、PMA_DBI_postConnect関数内のif (PMA_MYSQL_INT_VERSION >= 40100)を無効にしてelse部分だけを残しましょう。

function PMA_DBI_postConnect($link, $is_controluser = false)
{
   (省略)
/* ←バッサリとコメントアウト
if (PMA_MYSQL_INT_VERSION >= 40100) {
   (省略)
} else {*/
require_once('./libraries/charset_conversion.lib.php');
//}

こうすれば分岐無視でcharset_conversion.lib.phpを読み込みます。

追記:
『if (PMA_MYSQL_INT_VERSION >= 40100) {』を『 if (false) {』にするだけでよかったな…。

参考:cl.pocari.org - MySQL 4.1.x な環境で phpMyAdmin を EUC-JP で使う方法
http://cl.pocari.org/2006-06-17-1.html

トラックバック(1)

このブログ記事を参照しているブログ一覧: MySQL5利用時のphpMyAdmin文字化け

このブログ記事に対するトラックバックURL: http://blog.c-production.com/mt/mt-tb.cgi/334

 最近はMySQLをウェブで管理するツールがいくつか出てきましたので需要に応じて... 続きを読む

コメント(1)

やっと文字化けがしなくなった・・・
めちゃくちゃ助かりました!!!
ありがとうございます!

コメントする

このブログ記事について

このページは、管理人が2006年11月24日 00:05に書いたブログ記事です。

ひとつ前のブログ記事は「NTTドコモがクローン携帯の存在を認める」です。

次のブログ記事は「絵を描くと3Dで踊りだす」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.1