PHPとMySQLを勉強していた頃、PHPでMySQLを操作してデータを挿入する際に、データベースやデータベーステーブルを作成する際に、最初はutf-8エンコーディングを指定していました。 HTML ページが utf-8 エンコーディングに設定されていませんでした。HTML ページを
<meta http-equiv="content-Type" content="text/html;charset=UTF8">
に設定し、PHP コードに
header("Content-type:text/html; charset=utf-8");
を追加した後、データベースに挿入された中国語が依然として文字化けしていることがわかりました。
私は困惑していましたが、データベースに接続した後、utf-8 エンコーディングを使用するように接続を表示して設定する必要があることがわかりました。 。 。 。
<?php $sqldb = new mysqli("localhost", "root", "", "project"); if (mysqli_connect_errno()) { printf("Connect failed:%s\n", mysqli_connect_error()); exit(); } mysqli_query($sqldb, "set names utf8"); //utf8 设为对应的编码 ... mysqli_close($sqldb); ?>
Mysqli はデフォルトで latin-1 エンコーディングを使用します。ページが utf-8 でエンコードされている場合、ページは文字化けします。