• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:phpMyadminでのMySQLの文字セット)

phpMyadminでのMySQLの文字セット

このQ&Aのポイント
  • phpMyadminを使用してMySQL上にテーブルを作成する際に、日本語のテーブル名を作成するとエラー(文字化け)が発生します。phpMyadminの画面上に表示されるMySQLの文字セットがUTF-8 Unicodeになっていることが原因と考えられます。
  • 設定ファイル(php.ini、my.ini、config.inc.php)でmbstringとMySQLのデフォルト文字セットをSJISに設定しているにもかかわらず、文字セットが変わらない問題が発生しています。
  • テーブル名やフィールド名を日本語にするためには、phpMyadminの画面上に表示されるMySQLの文字セットを正しく変更する必要があります。解決策として、config.inc.phpの設定を見直してみると良いでしょう。

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

  • ベストアンサー
回答No.2

#1回答者です。 試行錯誤して、幾つか事実確認しました。 >MySQLの文字セットがUTF-8 以下の設定をしたところ、私の環境ではsjisとなりました。 Windows XP SP2 Apache 1.3.29 php 5.1.2 phpMyAdmin 2.7.0-pl2 MySQL 5.0.19-nt c:\windows\php.ini --------------------- extension=php_mbstring.dll ※他にsjis関係の指定はなし ※php.ini設定変更後、apacheをリスタート my.ini  →今回のための設定変更はなし --------------------- [client] default-character-set=sjis [mysql] default-character-set=sjis [mysqld] default-character-set=sjis C:\Program Files\Apache Group\Apache\htdocs\phpMyAdmin\config.inc.php ---------------------------- $cfg['DefaultLang'] = 'ja-sjis'; $cfg['Lang'] = 'ja-sjis'; $cfg['DefaultCharset'] = 'shift_jis'; >Create tableを実行、「SQLが正常に実行されました」表示されるが、「データベースにテーブルはありません」と表示される 表名一覧表示はされないが、実体は出来ているようです。insertやselectはできるし、drop tableもできます。 MySQL Command Line Clientで日本語の表名定義をした場合は、phpMyAdminでも一覧表示できるようです。

hakaider01
質問者

お礼

回答ありがとうございます。 いろいろお手数をお掛けいたしまして大変恐縮です。 私も回答内容を実施後、コマンドラインで確認したところ実際にはテーブルは作成されていました。 phpMyAdminはテーブルを構築するだけの目的でしたので実際mySQL側に日本語のテーブルができていれば問題ないかとも思っています。 現状、初めてmySQL他に挑戦しており不明確な質問になっていたかもしれませんが本当に事実確認までしていただき大変ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

日本語の表名、列名を使用する場合、MySQLのコマンドで、以下の入力が必要です。 SET NAMES SJIS

hakaider01
質問者

お礼

回答ありがとうございます。 phpMyAdminを使用しているのでphpMyAdminのSQLにて "SET NAMES SJIS"後、"Create table ..."を実行したのですが”SQL が正常に実行されました”が表示されたのですが実際は”データベースにテーブルはありません”と表示されてしまいます。やはりphpMyAdminの方の設定等が不十分なのでしょうか?

すると、全ての回答が全文表示されます。

関連するQ&A