※ ChatGPTを利用し、要約された質問です(原文:UTF-8にしても文字化けが直らない)
UTF-8の文字化け問題について
このQ&Aのポイント
XAMPPでPHPとMySQLを使用している際に、UTF-8の文字化け問題が発生しています。文字化けを防ぐためには、データベースの文字コードや接続設定をUTF-8に変更する必要があります。
文字化けの原因は、データベースの文字コードがlatin1に設定されていることです。データベースの文字コードをUTF-8に変更し、テーブルも再作成してください。
また、Windows VistaでのXAMPPのバージョンが1.7.7であることも確認しました。問題の解決には、最新バージョンのXAMPPを使用することも検討してください。
XAMPPでPHPとMySQLを使っています。
しかし、そのまま使うと文字化けが起きてしまいます。調べると「UTF-8」にすることで文字化けが起こらないとのことなので変更をし、以下のように全てutf-8に書き換えることができました。
mysql> show variables like 'char%'
-> ;
+--------------------------+----------------------------------------+
| Variable_name | Value |
+--------------------------+----------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | D:\program\xampp\mysql\share\charsets\ |
+--------------------------+----------------------------------------+
しかし、それでも文字化けは直りませんでした。以下のコマンドで原因を確かめてみました。
mysql> use testdb;
Database changed
mysql> status
--------------
Server characterset: utf8
Db characterset: latin1
Client characterset: utf8
Conn. characterset: utf8
Db characterset: latin1が原因だと思い、以下のコマンドを実行しました。
alter database testDB character set utf8;
そしてもう一度テーブルを作りなおすと今度は文字化けどころか空白になってしまいました。
なにが原因で文字化け等が起こっているのか分かりません。助けてください。
OSは
Windows Vista
です。
バージョンは
ApacheFriends XAMPP version 1.7.7
+ Apache 2.2.21
+ MySQL 5.5.16 (Community Server)
+ PHP 5.3.8 (VC9 X86 32bit thread safe) + PEAR
です。
回答よろしくお願いいたします。
お礼
windowsのコマンドプロンプトは文字コードがsjis 日本語をコマンドプロンプト上に貼り付けると読み込まれない(source ファイルパス名で解決) エディタをsjisで編集していた 主にこの3つが原因でした。 返事が遅れてもうしわけありませんでした。今まで文字化けと格闘していました。おかげさまでなんとか解決しました、ありがとうございました。