以下の手順でログイン画面で、日本語utf-8、euc、sjisが選択可能になり、文字化けなくデータベースにアクセスできるようになる。
Mac OS X10.4.11
phpMyAdmin-3.3.3-all-languages
PHP-5.3.2
MySQL-5.1.40
(1) phpmyadmin/libraries/select_lang.lib.phpの編集
'ja-utf-8' => array('ja|japanese', 'japanese-utf-8', 'ja', '日本語'), ↓追加 'ja-utf-8' => array('ja|japanese', 'japanese-utf-8', 'ja', '日本語(utf8)'), 'ja-euc' => array('ja|japanese', 'japanese-euc', 'ja', '日本語(euc)'), 'ja-sjis' => array('ja|japanese', 'japanese-sjis', 'ja', '日本語(sjis)'),
(2) langファイルを作る
phpmyadmin/lang/japanese-utf-8.inc.phpの冒頭を編集
$charset = 'utf-8'; ↓ $charset = 'EUC-JP';
エンコード改行をEUC+LF、ファイル名japanese-euc.inc.phpで保存。
同様に$charset = 'shift_jis';にソースを変更後、エンコード改行をShift-JISにして
japanese-sjis.inc.phpで保存。japanese-sjis.inc.phpは下のように全て置換える。
'表示'→'表\示' '機能'→'機能\'
(3) phpmyadmin/libraries/database_interface.lib.phpの編集
function PMA_DBI_postConnect($link, $is_controluser = false) { if (! defined('PMA_MYSQL_INT_VERSION')) { if (PMA_cacheExists('PMA_MYSQL_INT_VERSION', true)) { define('PMA_MYSQL_INT_VERSION', PMA_cacheGet('PMA_MYSQL_INT_VERSION', true)); define('PMA_MYSQL_STR_VERSION', PMA_cacheGet('PMA_MYSQL_STR_VERSION', true)); } else { $mysql_version = PMA_DBI_fetch_value( 'SELECT VERSION()', 0, 0, $link, PMA_DBI_QUERY_STORE); if ($mysql_version) { $match = explode('.', $mysql_version); define('PMA_MYSQL_INT_VERSION', (int) sprintf('%d%02d%02d', $match[0], $match[1], intval($match[2]))); define('PMA_MYSQL_STR_VERSION', $mysql_version); unset($mysql_version, $match); } else { define('PMA_MYSQL_INT_VERSION', 50015); define('PMA_MYSQL_STR_VERSION', '5.00.15'); } PMA_cacheSet('PMA_MYSQL_INT_VERSION', PMA_MYSQL_INT_VERSION, true); PMA_cacheSet('PMA_MYSQL_STR_VERSION', PMA_MYSQL_STR_VERSION, true); } } /*コメントアウト if (! empty($GLOBALS['collation_connection'])) { PMA_DBI_query("SET CHARACTER SET 'utf8';", $link, PMA_DBI_QUERY_STORE); $mysql_charset = explode('_', $GLOBALS['collation_connection']); PMA_DBI_query("SET collation_connection = '" . PMA_sqlAddslashes($GLOBALS['collation_connection']) . "';", $link, PMA_DBI_QUERY_STORE); } else { PMA_DBI_query("SET NAMES 'utf8' COLLATE 'utf8_general_ci';", $link, PMA_DBI_QUERY_STORE); } */ //一行追加 require_once('./libraries/charset_conversion.lib.php'); }
http://www.pwblog.com/user/pc/settei/121132.html
http://cl.pocari.org/2006-06-17-1.html