![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
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というツールからのクエリ発行どちらも?で格納されてしまいます。
もうどこが問題なのか見当が付きません。
よろしくお願いします。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_15.png?8acaa2e)
No.3ベストアンサー
- 回答日時:
windows のphp + MySQL4.1以降の場合、接続したら
set names utf8
を実行するのは、ほとんどお約束みたいなものなのですが、やってますか?
my.iniのclient設定は、phpのlibmysql.dllは対象外ですので。
http://www.mysql.gr.jp/frame/modules/bwiki/?FAQ# …
phpmyadmin は私は使ったことがないけど、これを実行させるように設定が必要と思われます。
お礼が遅くなってしまい申し訳ございません。
php、phpmyadminともに文字コードの設定をutf-8に変更してはあるのですが、文字化けが起こります。
テーブル作成時に最初から文字コードがutf-8で作ったら文字化けしないようになりました。
どうも、あとから文字コードを変えてみてもダメということみたいです。
No.2
- 回答日時:
文字化けが発生する環境で、文字コードを確認してますか?
>my.iniの設定を以下のように変えてみました
xamppで使っているMySQLが参照している設定ファイルであると、確認できていますか?
>PHPからのクエリ発行、phpmyadminというツールからのクエリ発行どちらも?で格納されてしまい
実際に文字化けが起こっているというphpMyAdminで、
show variables like 'char%'
を表示させてみましたか?
show create tableで、表定義で実際に有効になっている文字コードを確認してみてください。
お礼が遅くなってしまい申し訳ございません。
>xamppで使っているMySQLが参照している設定ファイルであると、確認できていますか?
変更後のmy.iniを削除したらcharset~がlatin1に戻っていたのでおそらく間違いないと思われます。
>実際に文字化けが起こっているというphpMyAdminで、show variables like 'char%'を表示させてみましたか?
character_set_filesystem以外はutf8になっていました。
テーブル作成時に最初から文字コードがutf-8で作ったら文字化けしないようになりました。
どうも、あとから文字コードを変えてみてもダメということみたいです。
No.1
- 回答日時:
確か、データベースの文字コードと、テーブルの文字コードの2つがあったと思います。
これらの文字コードはそれぞれ作成時に設定されます。データベース、テーブルそれぞれで文字コードを指定して作成して試してみてはいかがでしょう?(設定ファイルの文字コード指定は、多分生成時しか参照しないと思いますので、生成後に変更しても無意味です。)
お礼が遅くなってしまい申し訳ございません。
データベースやテーブル作成時に文字コードを指定してなかったので、latin1になっていました。
なので、あとからphpmyadmin上やalter database DB名/テーブル名 character set utf8 を発行したりしてutf-8に変えた状態でした。
そこで、テーブル作成時に最初から文字コードがutf-8で作ったら文字化けしないようになりました。
どうも、あとから文字コードを変えてみてもダメということみたいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBA カーソルを当てた際に表示される”4161”とは 1 2022/04/30 21:53
- MySQL SHOW CREATE TABLE posts;これって何ですか? 3 2022/08/28 22:57
- MySQL MYSQL エラー 2 2022/10/18 11:37
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- PHP php エラー 2 2022/10/23 16:43
- その他(開発・運用・管理) Windowsバッチファイルでリモートデスクトップを自動ログインするが確認画面が出る対処方法 1 2022/12/19 15:48
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- PHP phpのメールフォームの完了画面でメール受信のコードを書いています。 1 2023/05/31 11:39
- 運輸業・郵便業 国際郵便のUTで始まりTWで終わる追跡番号は、国内の運送業者がどこかわかりますか? 2 2023/04/02 19:27
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MYSQLで日本語が入力できない
-
接続ができません
-
VBAで変数内に保持された二次配...
-
like句を使って日本語を検索す...
-
phpとmysqlを使っています。
-
SQLのVARCHARとVARCHAR2の違い
-
ヌル値は記憶容量を必要としな...
-
LIMIT で条件を満たしているの...
-
ERROR 1054 (42S22) 原因不明です
-
ERROR 1045 (28000) (using pas...
-
Usage: \\.<filename> | sourc...
-
文字コードMS932(Windows-31J...
-
ODBC接続で全角文字が文字化け
-
MySQLに外部PCから接続できない
-
JDBCドライバについて
-
列数が多いと結果が行単位に改...
-
ADOのバージョンを確認する方法
-
phpからinsertできない
-
副問合せにLIKE文を使う方法は...
-
MYSQLで読替え(SELECT~CASE)...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
php・Mysql Like文で日本語が使...
-
MYSQLで日本語が入力できない
-
UTF-8にしても文字化けが直らない
-
MySQL 文字化けについて(PHP)
-
MYSQLでタイ語
-
MAMP MySQl でコマンドプロンプ...
-
DB内の日本語データがPHPで取得...
-
mysqldumpでリストアし一部外字...
-
さくらのレンタルサーバで文字...
-
mysql>status で
-
「set names utf8;」という構文...
-
xamppのMySQLの文字化け
-
MySQL5.1の文字列サイズは文字...
-
MySQL(UTF-8)で ~ が文字化け...
-
設定が間違っていないのに文字...
-
php $dsn
-
xampp の mysql 文字化け
-
Mysqlの文字化けについて
-
テーブルに日本語が登録できない
-
日本語をinsert時に文字化け
おすすめ情報