ホームページ >php教程 >php手册 >Mysql5 の文字化けコードの書き込みと読み取りの解決策

Mysql5 の文字化けコードの書き込みと読み取りの解決策

WBOY
WBOYオリジナル
2016-06-13 12:35:511312ブラウズ

私が書いた例

コードをコピー コードは次のとおりです。

<
require("adodb/adodb.inc? .php" );
$conn=newadoconnection('mysql');
$conn->connect("localhost","root","2027205","bh38") または die("接続に失敗しました") ;
$conn->execute("set names gb2312");
$conn->execute("INSERT INTO `vv` (`cc`) VALUES ('エンコードを変更すると機能します ');") または die("Error");
$rc=$conn->execute("select * from vv");
while(!$rc ->EOF)
{
echo($rc->fields["cc"]);
$rc->movenext();
? 🎜>
もちろん、私たちも同様です。次のコマンドを使用してデータベースの文字セットを変更できます。

alter database da_name default Character set 'charset'
クライアントはそれを gbk 形式で送信します。次の構成を使用します。
SET Character_set_client='gbk'
SET Character_set_connection='gbk'
SET Character_set_results='gbk'
この構成は、SET NAMES 'gbk' と同等です。
作成したばかりのデータベースを操作します
mysql> use test;
データベースが mysqlcode 値に挿入されました (null,'php愛好家');
エラー 1406 (22001)行 1 の列 'content' が長すぎます
文字セットが gbk として指定されておらず、挿入中にエラーが発生しました
mysql>セット名 'gbk'
クエリは OK、影響を受ける行は 0 件です (0.02 sec)
指定された文字セットは gbk
mysql> insert into mysqlcodevalues(null,'php Lovers');
クエリは OK、1 行が影響を受けました (0.00 秒)
挿入は成功しました
mysql> select * from mysqlcode; ---- -----------
| -
| 1 | PHP 愛好家 |
---- -----------
セット内 1 行 (0.00 秒)
文字セット gbk が指定されていない場合でも読み取ります次のように指定された文字化けしたコードが表示されます。
select * from mysqlcode;
| --- -----
| 1 | php???
---- --------
セット内 1 行 (0.00 秒)
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。