以下の手順でログイン画面で、日本語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