mysql:15431
From: "kenji@xxxxxxxxxx" <"kenji@xxxxxxxxxx" <kenji@xxxxxxxxxx>>
Date: Fri, 19 Nov 2010 11:59:27 +0900
Subject: [mysql 15431] EUC-JPの一部の文字がphpMyAdminで化ける
こんには、鈴木と申します。 FreeBSD8.1 + mysql-server-5.5.4 + phpMyAdmin-3.3.4です MySQLをEUC-JPで使いたいので ports から WITH_CHARSET=ujis WITH_XCHARSET=all でインストール。 # cat /var/db/mysql/my.cnf [mysqld] character-set-server=ujis skip-character-set-client-handshake mysql> SHOW VARIABLES LIKE 'character_set%'; +--------------------------+----------------------------------+ | Variable_name | Value | +--------------------------+----------------------------------+ | character_set_client | ujis | | character_set_connection | ujis | | character_set_database | ujis | | character_set_filesystem | binary | | character_set_results | ujis | | character_set_server | ujis | | character_set_system | utf8 | | character_sets_dir | /usr/local/share/mysql/charsets/ | +--------------------------+----------------------------------+ 8 rows in set (0.00 sec) 上記の環境で # cat test-euc.sql CREATE DATABASE `test` ; USE `test`; CREATE TABLE `sample` ( `moji` text ) CHARSET=ujis; INSERT INTO `sample` VALUES ('普'),('通'),('の'),('文'),('字'),('〓'),('〓'),('〓'); # mysql -p"PASSWORD" < test-euc.sql としてtestデータベースにsampleテーブルにEUC-JPで 普通の文字と機種依存の文字を入れました コマンドラインからは mysql> SELECT `moji` FROM `sample`; +------+ | moji | +------+ | 普 | | 通 | | の | | 文 | | 字 | | 〓 | | 〓 | | 〓 | +------+ 8 rows in set (0.00 sec) と期待通り表示されます。 またEUC-JPで作成したPHPのWebサイトからも正常に扱えます。 しかし、phpMyAdminでは機種依存文字の部分3つは文字化けします。 SHOW VARIABLES LIKE 'character_set%' を見てみると。 Variable_name Value character_set_client utf8 character_set_connection utf8 character_set_database ujis character_set_filesystem binary character_set_results utf8 character_set_server ujis character_set_system utf8 character_sets_dir /usr/local/share/mysql/charsets/ のようにグローバル値と違ったセッション値になっているし ブラウザに表示されるのも charset=utf-8 なので phpMyAdmin で? または MySQL が? EUC-JP を UTF-8 に変換して表示しているのだと思うのですが。 EUC-JP の機種依存文字は変換するときに mb_convert_encoding(mb_convert_encoding($moji,"sjis-win","EUC-JP"),"UTF-8","sjis-win") の様に EUC-JP → sjis-win → UTF-8 の手順で変換すると問題なく UTF-8で作ったWebサイトでも扱えます phpMyAdmin でこれらの文字を正しく扱えるようにする方法はありませんでしょ うか? または、どこかの設定が間違っているのでしょうか? よろしくお願いします。
-> 15431 2010-11-19 11:59 ["kenji@xxxxxxxxxx" <] EUC-JPの一部の文字がphpMyAdminで化ける 15432 2010-11-19 12:09 ┗[Akio Imai <suzuro204] Re: [mysql 15431] EUC-JPの一部の文字がphpMyAdminで化ける 15433 2010-11-19 13:04 ┗["kenji@xxxxxxxxxx" <] Re: EUC-JPの一部の文字がphpMyAdminで化ける 15434 2010-11-19 13:29 ┣[Akio Imai <suzuro204] Re: [mysql 15433] Re: EUC-JPの一部の文字がphpMyAdminで化ける 15436 2010-11-19 13:44 ┃┗["kenji@xxxxxxxxxx" <] Re: EUC-JPの一部の文字がphpMyAdminで化ける 15435 2010-11-19 13:43 ┗[SAKAI Kei <sak2@xxxx] 15437 2010-11-19 13:47 ┗["kenji@xxxxxxxxxx" <] 15438 2010-11-19 14:10 ┗[SAKAI Kei <sak2@xxxx] 15439 2010-11-19 14:16 ┗["kenji@xxxxxxxxxx" <]