• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPから、MySQL内に日本語名のテーブルを作成する事ができません。)

PHPからMySQL内に日本語名のテーブルを作成する方法

このQ&Aのポイント
  • PHPからMySQL内に日本語名のテーブルを作成することができない場合の対処法を教えてください。
  • WindowsXPSP3上でApache2.2.15とMySQL5.1.46とPHP5.2.13を使用してPHPを勉強しています。PHPからMySQL内にデータベースを作成後、日本語名でテーブルを作成したいのですが、なぜか作成できません。
  • 質問のソースコードを記載させていただきます。MySQLに接続し、データベースを作成し、テーブルを作成しようとしていますが、テーブルの作成ができずにエラーが発生しています。

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

  • ベストアンサー
  • kt_yuka
  • ベストアンサー率53% (8/15)
回答No.2

ズバリ模範解答ではありませんが、私の試してみた限りです。 mysql_query("set names utf-8");を mysql_query("set names utf8");に修正。 日本語部分をバッククォートで囲む。 ENGINE= の前でかっこが閉じていない。&カンマでつながっている。 $create_table = "CREATE TABLE `名前15` ( `名前` VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, `年齢` INT NOT NULL, `身長` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, `体重` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, `職種` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ) ENGINE = MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci;"; これで作成出来ました。 ただ、個人的にはトラブルの元なので日本語は使いたくないです。 (コマンドラインで作ったらテーブルが削除できなくなっちゃいました)

HackHack
質問者

お礼

kt_yukaさん、ご回答頂き誠にありがとうございます。 ご教示頂いた通り、コードを訂正し直し、memphisさんにご教示頂いた方法でphp.iniを書き直し、apacheを再起動しphpソースを実行してみたところ、見事に日本語のテーブルを作成する事が出来ました!! ご教示頂き、心より感謝申し上げます!

HackHack
質問者

補足

お礼を書き忘れたので、ここでお礼したいです。 本当にありがとうございました。

その他の回答 (1)

  • memphis
  • ベストアンサー率40% (975/2395)
回答No.1

デフォルトのキャラクタセットをutf8にしましたか? my.ini を確認して下さい。

HackHack
質問者

お礼

memphisさん、ご回答頂き誠に感謝申し上げます。 memphisさんのご教示頂いた通り、php.iniを書き直しapacheを再起動し、コードを書き直してみたところ、見事、日本語のテーブルを作成する事ができました! ご教示頂き、心から感謝申し上げます。

HackHack
質問者

補足

お礼を書き忘れたので、ここでお礼したいです。 本当にありがとうございました。

関連するQ&A