- ベストアンサー
PHPからMySQL内に日本語名のテーブルを作成する方法
- PHPからMySQL内に日本語名のテーブルを作成することができない場合の対処法を教えてください。
- WindowsXPSP3上でApache2.2.15とMySQL5.1.46とPHP5.2.13を使用してPHPを勉強しています。PHPからMySQL内にデータベースを作成後、日本語名でテーブルを作成したいのですが、なぜか作成できません。
- 質問のソースコードを記載させていただきます。MySQLに接続し、データベースを作成し、テーブルを作成しようとしていますが、テーブルの作成ができずにエラーが発生しています。
- みんなの回答 (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;"; これで作成出来ました。 ただ、個人的にはトラブルの元なので日本語は使いたくないです。 (コマンドラインで作ったらテーブルが削除できなくなっちゃいました)
その他の回答 (1)
- memphis
- ベストアンサー率40% (975/2395)
デフォルトのキャラクタセットをutf8にしましたか? my.ini を確認して下さい。
お礼
memphisさん、ご回答頂き誠に感謝申し上げます。 memphisさんのご教示頂いた通り、php.iniを書き直しapacheを再起動し、コードを書き直してみたところ、見事、日本語のテーブルを作成する事ができました! ご教示頂き、心から感謝申し上げます。
補足
お礼を書き忘れたので、ここでお礼したいです。 本当にありがとうございました。
お礼
kt_yukaさん、ご回答頂き誠にありがとうございます。 ご教示頂いた通り、コードを訂正し直し、memphisさんにご教示頂いた方法でphp.iniを書き直し、apacheを再起動しphpソースを実行してみたところ、見事に日本語のテーブルを作成する事が出来ました!! ご教示頂き、心より感謝申し上げます!
補足
お礼を書き忘れたので、ここでお礼したいです。 本当にありがとうございました。