mysql:15432
From: Akio Imai <Akio Imai <suzuro2045@xxxxxxxxxx>>
Date: Fri, 19 Nov 2010 12:09:30 +0900
Subject: [mysql 15432] Re: [mysql 15431] EUC-JPの一部の文字がphpMyAdminで化ける
初めまして、今井と申します。 my.cnf に以下を追加してみてください。 [client] default-character-set=ujis また、phpMyAdmin のことをここで話のはアレですが config.inc.php の下記の箇所がどうなっているか確認してみてください。 $cfg['DefaultLang'] $cfg['DefaultCharset'] 2010年11月19日11:59 kenji@xxxxxxxxxx <kenji@xxxxxxxxxx>: > こんには、鈴木と申します。 > > 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" <]