※ ChatGPTを利用し、要約された質問です(原文:php5,MySQL5で文字化けが起こる)
php5,MySQL5で文字化けが起こる
このQ&Aのポイント
php5,MySQL5環境での文字化けについて説明します。
php5,MySQL5環境で漢字が正しく表示されない問題が発生しています。
具体的な原因や解決策を知りたいです。
環境:php5,MySQL5,XP
MySQL5は、インストール時にsjisを指定。
php.iniもmbstring.internal_encoding = SJIS
ドスプロンプトでSelect文を発行すると漢字で表示されます。
$dbtype = "mysql";
$sv = "localhost";
$dbname = "*****";
$user = "root";
$pass = "*****";
// 文字コード
$enc_disp = "EUC-JP";
$enc_db = "EUC-JP";
// データの文字コードを変換する関数
function cnv_enc($string, $to, $from) {
// 文字コードを変換する
$det_enc = mb_detect_encoding($string, $from . ", " . $to);
if ($det_enc and $det_enc != $to) {
return mb_convert_encoding($string, $to, $det_enc);
}
else {
return $string;
}
}
// データベースに接続する
$dsn = "$dbtype://$user:$pass@$sv/$dbname";
$conn = DB::connect($dsn);
$sql = "SELECT * FROM A";
$res = $conn->query($sql);
→この後、SQLの内容をIEで表示させると
”2 Web?? 002 ??????????????”の様に
テーブルの中の漢字の部分だけが??????で表示されます。
ヒント、参考になるサイトなど、教えていただけると幸いです。