mysql5写入和读出乱码解决

2018-09-07 11:47

阅读:662

  我写的例子
复制代码 代码如下:<?
$conn=newadoconnection(mysql);
$conn->connect(localhost,root,2027205,bh38)ordie(连接不成功);
$conn->execute(setnamesgb2312);
$conn->execute(INSERTINTO`vv`(`cc`)VALUES(换了个编码不知道行不行);)ordie(错误);
$rc=$conn->execute(select*fromvv);
while(!$rc->EOF)
{
echo($rc->fields[cc]);
$rc->movenext();
}
?>
当然我们也可以通过如下指令修改数据库的字符集
alterdatabaseda_namedefaultcharactersetcharset.
客户端以gbk格式发送,可以采用下述配置:
SETcharacter_set_client=gbk
SETcharacter_set_connection=gbk
SETcharacter_set_results=gbk
这个配置就等价于SETNAMESgbk。
现在对刚才创建的数据库操作
mysql>usetest;
Databasechanged
mysql>insertintomysqlcodevalues(null,php爱好者);
ERROR1406(22001):Datatoolongforcolumncontentatrow1
没有指定字符集为gbk,插入时出错
mysql>setnamesgbk;
QueryOK,0rowsaffected(0.02sec)
指定字符集为gbk
mysql>insertintomysqlcodevalues(null,php爱好者);
QueryOK,1rowaffected(0.00sec)
插入成功
mysql>select*frommysqlcode;
+----+-----------+
idcontent
+----+-----------+
1php爱好着
+----+-----------+
1rowinset(0.00sec)
在没有指定字符集gbk时读取也会出现乱码,如下
mysql>select*frommysqlcode;
+----+---------+
idcontent
+----+---------+
1php???
+----+---------+
1rowinset(0.00sec)

上一篇:phpjava(三)

下一篇:3_php基础_脚本之家


评论


亲,登录后才可以留言!