mysql5写入和读出乱码解决
mysql5写入和读出乱码解决
发布时间:2016-12-29 来源:查字典编辑
摘要:我写的例子复制代码代码如下:

我写的例子

复制代码 代码如下:<?

require("adodb/adodb.inc.php");

$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_namedefaultcharacterset'charset'.

客户端以gbk格式发送,可以采用下述配置:

SETcharacter_set_client='gbk'

SETcharacter_set_connection='gbk'

SETcharacter_set_results='gbk'

这个配置就等价于SETNAMES'gbk'。

现在对刚才创建的数据库操作

mysql>usetest;

Databasechanged

mysql>insertintomysqlcodevalues(null,'php爱好者');

ERROR1406(22001):Datatoolongforcolumn'content'atrow1

没有指定字符集为gbk,插入时出错

mysql>setnames'gbk';

QueryOK,0rowsaffected(0.02sec)

指定字符集为gbk

mysql>insertintomysqlcodevalues(null,'php爱好者');

QueryOK,1rowaffected(0.00sec)

插入成功

mysql>select*frommysqlcode;

+----+-----------+

|id|content|

+----+-----------+

|1|php爱好着|

+----+-----------+

1rowinset(0.00sec)

在没有指定字符集gbk时读取也会出现乱码,如下

mysql>select*frommysqlcode;

+----+---------+

|id|content|

+----+---------+

|1|php???|

+----+---------+

1rowinset(0.00sec)

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新php教程学习
热门php教程学习
编程开发子分类