phpmyadmin 文字化けの原因と解決方法

このQ&Aのポイント
  • phpmyadminを使用してテーブルを見ると日本語が化けてしまう問題が発生しています。
  • MySQLの設定とphpMyadminの設定を調べ、適切な設定を行っても問題が解決しない状況です。
  • 環境はphpMyAdminのバージョン3.5.1で、サーバはLocalhostを使用しています。MySQLのバージョンは5.1.61です。
回答を見る
  • ベストアンサー

phpmyadmin 文字化け

phpmyadmin 文字化けを開きテーブルを見ると日本語が化けてしまいます。 php のプログラムからは読み書き、表記は正しくできます。 いろいろ調べ以下をやったのですがだめでした。 「MySQLの設定」 # vi /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql old_passwords=1 default-character-set = utf8 character-set-server = utf8 collation-server = utf8_general_ci init-connect = SET NAMES utf8 #skip-character-set-client-handshake ※最終的にコメントアウト [mysql] default-character-set = utf8 [mysqldump] default-character-set = utf8 MySQLをリスタートする。 # /etc/rc.d/init.d/mysqld restart 「phpMyadminの設定」 # vi /var/www/phpmyadmin/config.inc.php $cfg['DefaultLang'] = 'utf-8'; $cfg['DefaultConnectionCollation'] = 'utf8_general_ci'; $cfg['FilterLanguages'] = ''; $cfg['DefaultCharset'] = 'utf-8'; $cfg['AllowAnywhereRecoding'] = TRUE; apache再起動 何か足りない点はありますでしょうか? 環境は以下です。 phpMyAdmin •バージョン情報: 3.5.1 (最新版) •サーバ: Localhost via UNIX socket •ソフトウェア: MySQL •ソフトウェアバージョン: 5.1.61 - Source distribution •プロトコルバージョン: 10 •ユーザ: root@localhost •サーバの文字セット: UTF-8 Unicode (utf8)

  • MySQL
  • 回答数1
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

とりあえず (1)phpMyAdmin上で所定のテーブルの照合順序をutf8_unicode_ciあたりにしておく (2)文字列の入っているカラムの照合順序を同様に調整する 登録させているデータがEUCならujis_japanese_ciとかになるかも・・・ sjis系は問題外なので省略

関連するQ&A

  • phpMyAdminの文字化け

    いつもお世話になっております。 phpMyAdminで文字化けをしてしまいます。 文字コードは全てutf-8で統一しております。 (PHPファイル、データベース) (1)MySQLの設定を変更→解決せず -------------------------------------------------- # vi /etc/my.cnf ↓ ---------- ここから追加 ---------- ↓ [mysqld] character-set-server = utf8 collation-server = utf8_general_ci init-connect = SET NAMES utf8 [mysqldump] default-character-set = utf8 [mysql] default-character-set = utf8 ↑ ---------- ここまで追加 ---------- ↑ :wq -------------------------------------------------- (2)phpMyAdminの設定を変更→解決せず -------------------------------------------------- $cfg['DefaultLang'] = 'utf-8'; $cfg['DefaultCharset'] = 'utf-8'; テーブルの照合順序とカラムの照合順序をutf8_unicode_ciに 変更いたしましたが、ダメでした。 -------------------------------------------------- (3)phpからデータベースに接続直後、SET NAME utf-8を実行→解決せず -------------------------------------------------- function db_conn() {  $db_link = @mysql_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD));  if ($db_link) {   mysql_select_db(DB_DATABASE);   mysql_query('SET NAMES utf-8');   return $db_link;  } } ご教授お願いいたします。 よろしくお願いいたします。 <環境> OS:Red Hat Enterprise Linux ES[ v.4 ] MySQL:4.1.20 PHP:4.3.9

    • ベストアンサー
    • MySQL
  • phpMyadminの文字化けについて

    PHPでINSERTしたものをphpMyadminで確認すると 日本語が文字化けしています。 コマンドプロンプトでテーブルを見てみると文字化けは起こっていません。どこを変えればいいのでしょうか? いろんなサイトを参考にmy.iniを直してみてもだめでした。 ----- my.ini ------ [mysqld] default-character-set = utf8 skip-character-set-client-handshake character-set-server = utf8 collation-server = utf8_general_ci init-connect = SET NAMES utf8 skip-character-set-client-handshake [mysqldump] quick max_allowed_packet = 16M default-character-set = utf8 [mysql] no-auto-rehash # Remove the next comment character if you are not familiar with SQL #safe-updates default-character-set = utf8 ----- phpMyadmin ----- テーブルの照合順序 utf8_general_ci mysql> \s Server characterset: latin1 Db characterset: latin1 Client characterset: latin1 Conn. characterset: latin1 バージョンは以下のとおりです。 XAMPP 1.7.1 MySQL 5.1.33 PHP 5.2.9 phpMyadmin

    • ベストアンサー
    • MySQL
  • phpmyadminで日本語データが文字化け

    phpmyadminで日本語のデータだけ文字化けしてしまいます。 phpで作成された掲示板からデータをmysqlに投稿し、そのデータを再度掲示板で表示しています。 投稿・表示するphpファイルはutf8で、mysqlのmy.cnfは以下のようになっています。 --------------- [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 character-set-server=utf8 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid [mysql] default-character-set=utf8 [mysqldump] default-character-set=utf8 --------------- phpmyadmin(2.11.11)側は、MySQ の接続照合順序:utf8_unicode_ci にしています。 phpmyadminで文字化けしているデータをphpで見ると問題なく表示されてるのが不思議です。 どこが問題なのでしょうか。

    • ベストアンサー
    • MySQL
  • UTF8のPHPコードから日本語をINSERTするとphpMyAdmin上で文字化けしてしまう

    ・WindowsXP(SP2)IIS5.1 ・PHP 5.2.5 Win32 ・MySQL 5.1.22 RC Win32 ・phpMyAdmin 2.11.4 多言語(日本語と中国語)を扱える簡単なシステムを試作しているのですが、 test1.php(UFT8-BOM無し)からINSERTしたレコードをphpMyAdminから閲覧 すると日本語が「財団法人æ」などと文字化けしまくっています。 test2.phpからSELECTすると、まったく文字化けなく呼び出せます。 また、phpMyAdminから直接INSERTしたレコードば文字化けしません。 当初、MySQL4.1.22-win32や、phpMyAdmin 2.8.2.4だったので、 冒頭の最新バージョンにしたりもしてみましたがだめでした。 過去ログや、Webで昨日さんざん調べてみて、確認したのは以下の設定です。 (1) C:\Program Files\MySQL\MySQL Server 5.1\my.ini: [mysqld] character-set-server = utf8 collation-server = utf8_general_ci init-connect = SET NAMES utf8 [mysqldump] default-character-set = utf8 [mysql] default-character-set = utf8 (2) C:\Inetpub\wwwroot\phpMyAdmin\libraries\config.default.php $cfg['DefaultLang'] = 'utf-8'; $cfg['DefaultConnectionCollation'] = 'utf8_general_ci'; $cfg['DefaultCharset'] = 'utf-8'; (3) MySQL Server Instance Config Wizard UTF8を選択しました(MySQL の文字セット: UTF-8 Unicode (utf8)) MySQL 接続照合順序 utf8_general_ci

    • ベストアンサー
    • PHP
  • phpmyadmin文字化けについて

    user_id user_name   mail comment create_datetime    del_flag 4 てst てst 2011-02-13 06:12:50    0 5 あああッ て    2011-02-13 06:15:14     0 このような感じで文字化けします [mysqld] character-set-server = utf8 collation-server = utf8_general_ci init-connect = SET NAMES utf8 default-character-set = utf8 [mysqldump] default-character-set = utf8 [mysql] default-character-set = utf8 の設定もしました 照合順序をtf8_unicode_ciにしました 色々ググッたのですがこのくらいしか設定するものがでてきませんでした ブラウザはchromで見ていますブラウザ側もutf-8になっています 他にもfirefox IEでも同じ結果でした 他に設定するべき項目があったらよろしくお願いします

  • 日本語をinsert時に文字化け

    xamppをインストールしMySQLを使おうとしたのですが、日本語をinsertしようとすると?で格納されてしまいます。 my.iniの設定を以下のように変えてみましたがうまくいきません。 [client] # 追加 default-character-set = utf8 [mysqldump] # 追加 default-character-set=utf8 [mysqld] # 追加 skip-character-set-client-handshake default-character-set = utf8 character-set-server = utf8 collation-server = utf8_general_ci init-connect = SET NAMES utf8 [mysql] # 追加 default-character-set=utf8 STATUS;コマンドで確認すると Client characterset: utf8 Server characterset: utf8 とってなっており、SHOW VARIABLES LIKE 'char%';を実行してもcharacter_set_filesystem以外はutf8になっています。 xampp等のバージョンは以下の通りです。 xampp 1.7.2 MySQL 5.1.37 PHPからのクエリ発行、phpmyadminというツールからのクエリ発行どちらも?で格納されてしまいます。 もうどこが問題なのか見当が付きません。 よろしくお願いします。

    • ベストアンサー
    • MySQL
  • MAMPのMySQLで文字化けする

    すみません、教えてください(><) mac( os X 10.7.5)でMAMP+Eclipse+PHPを使って以下のようにMySQLにデータ挿入 mysql_connect('localhost','root','root') or die(mysql_error()); mysql_select_db('mymy'); mysql_query('SET NAMES UTF-8'); mysql_query('INSERT INTO item SET id=1, name="あいうえお"'); をしたのですが、 phpMyadminからデータを確認してみると日本語が文字化けしてしまいます。 (phpMyadminからデータを挿入した場合はちゃんと表示されます。) 色々と調べ、 Eclipseの環境設定でワークスペースの文字コードやphpの文字コードをUTF-8にしたり、 MySQLのmy.cnfファイルの中に以下 [client] default-character-set = utf8 [mysqld] skip-character-set-client-handshake default-character-set = utf8 character-set-server = utf8 collation-server = utf8_unicode_ci init-connect = SET NAMES utf8 [mysqldump] default-character-set = utf8 [mysql] default-character-set = utf8 を追加して再起動し、DBを一旦削除して再度作り直して挿入してみたりとやったのですが、改善されません。 サーバ接続の照合順序 は「utf8_general_ci」として作成しています。 コンソールからMySQLへ接続してDBの文字コードを確認してみると character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /Applications/MAMP/Library/share/charsets/ | というかたちになっています。 他にどういった点を改善すればいいのでしょうか? もうお手上げ状態でどうすることも出来ずにいます。。。

  • phpMyAdminで文字化け

    PHP5.2.4、MySQLバージョン4.1.16、phpMyAdmin 2.11.1を使用しています。 php側でInnoDBのテーブルを作成して日本語の値を挿入した状態です。 php側では表示などしても文字化けしてないのですが、 phpMyAdminで日本語で登録されているカラムを見ると文字化けしています。 phpMyAdminで日本語の値で更新し直すと、文字化けせずにちゃんと表示されます。 mysqlの設定ファイルで #character-set-server = latin1 #collation-server = latin1_general_ci default-character-set=utf8 skip-character-set-client-handshake として再起動してテーブルを作成し直したのですが文字化けは直りません・・・ 何が原因なのでしょうか? phpMyAdminのテーブルオプション ストレージエンジン:InnoDB 照合順序:utf8-general_ci

    • 締切済み
    • PHP
  • phpMyAdmin最新版で文字化け

    phpMyAdmin - 2.9.0.2(最新版)に限ったことなのか疑問なので質問いたします。 問題点は2つあります。 1.テーブルのデータはsjisで入力されていて、phpMyADminトップの言語設定が、utf8やeucの場合には文字化けする。そこで、phpMyADminトップの言語設定をs-jisにすると以下のエラーが出る。 2. ベーシック認証のウィンドウ内の文字が化ける この2点の問題の関連性と解決方法をお伺いしたく書き込んでおります。 設置環境は、ローカルのテストサーバーということで、 ANHTTPD 1.42 php 4.4.2 MySQL 4.0.26 phpMyAdmin 2.9.0.2 を使っています。 また、各設定ファイルの言語設定は、 【php.ini】 mbstring.internal_encoding = EUC-JP/SJIS (どちらも試しましたがダメでした) 【my.ini】 [mysqld] default-character-set=sjis [mysql] default-character-set=sjis [client] default-character-set=sjis [mysqldump] default-character-set=sjis 【config.inc.php】 $cfg['Lang'] = 'ja-sjis';(コメントアウトの有無も試しました。) $cfg['DefaultLang'] = 'ja-sjis'; $cfg['DefaultCharset'] = 'shift_jis'; その他にも設定箇所がありましたら、ご教授ください。 よろしくお願いいたします。

    • ベストアンサー
    • MySQL
  • MySQLの文字化けに関して

    MySQLとPHP、phpMyadminで開発をした際に、phpMyAdminから 登録した値が、PHPで表示させると文字化けしてしまいます。 手当たり次第環境を調べてみましたが、どうしても原因が掴め ません。 わかる方がいらしたら是非教えて下さい。 《環境》 PHP   php-5.0.2 MySQL  mysql-4.0.21 phpMyAdmin phpMyAdmin 2.7.0 です。 MySQLは、  [mysqld]   default-character-set=sjis  [mysql]   default-character-set=sjis  [mysql-dump]   default-character-set=sjis で設定してあり、 phpMyadminは、  $cfg['DefaultLang'] = 'ja-sjis'  $cfg['DefaultCharset'] = 'SHIFT_JIS' と設定してあります。 もちろんPHPも'SJIS'ですが、、、 本当に困っています。 教えてください。

    • ベストアンサー
    • MySQL