私が書いた例
コードをコピーします コードは次のとおりです:
$c
$conn->connect(" localhost"," root","2027205","bh38") または die("接続失敗");
$conn->execute("set names gb2312");
$conn->execute("INSERT INTO `vv` (`cc`) VALUES ('エンコーディングを変更しても機能するかどうかはわかりません');") または die("エラー");
$rc=$conn->execute(" select * from vv");
while (!$rc->EOF)
{
echo($rc->fields["cc"]);
$rc->movenext();
}
? >
もちろん、次のコマンドはデータベースの文字セットを変更します
データベース da_name のデフォルトの文字セット 'charset' を渡すこともできます
クライアントは次の設定を使用できます:
SETcharacter_set_client。 ='gbk'
SETcharacter_set_c
SETcharacter_set_results='gbk'
この設定は、SET NAMES 'gbk' と同等です。
作成したデータベースを操作します
mysql> use test;
データベースが変更されました
mysql>
エラー 1406 (22001): 列 'content' のデータが長すぎます1
文字セットが gbk として指定されていません。挿入中にエラーが発生しました
mysql> セット名 'gbk';
クエリ OK、影響を受ける行は 0 (0.02 秒)
指定された文字セットは gbk です
mysql> (null,'php 愛好家');
クエリ OK、1 行が影響を受けました (0.00 秒)
挿入成功
mysql>select * from mysqlcode
+----+----------+
| ID |
+----+----------+
+----+----------+
セット内1行(0.00秒)
文字セットgbkを指定せずに読み込むと以下のように文字化けも発生します
select * from mysqlcode
+----+-------- --+
ID |
+----+-------- -+
セット内の 1 行 (0.00 秒)
以上、mysql5で文字化けしたり読み込んだりする際のmysqlクエリエラーの解決方法を、mysqlクエリエラーの内容も含めて紹介しましたので、PHPチュートリアルに興味のある友人の参考になれば幸いです。