当前位置: 首页 > 图文教程 > 网络编程 > PHP > mysql5写入和读出乱码解决

PHP
搜索和替换文件或目录的一个好类--很实用
树型结构列出指定目录里所有文件的PHP类
使用字符串函数输出整数化的PHP版本号
php录入页面中动态从数据库中提取数据的实现
定制404错误页面,并发信给管理员的程序
让你的PHP同时支持GIF、png、JPEG
一个颜色轮换的简单例子
二十行语句实现从Excel到mysql的转化
模仿OSO的论坛(四)
简体中文转换为繁体中文的PHP函数
繁体中文转换为简体中文的PHP函数
PHP安装攻略:常见问题解答(三)
基于数据库的在线人数,日访问量等统计
NO3第三帝国留言簿制作过程
一个没有MYSQL数据库支持的简易留言本的编写
PHP安装攻略:常见问题解答(二)
在windows iis5下安装php4.0+mysql之我见
PHP聊天室技术
利用PHP实现与ASP Banner组件相似的类
PHP安装攻略:常见问题解答(一)

PHP 中的 mysql5写入和读出乱码解决


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 104 ::
收藏到网摘: n/a

我写的例子
复制代码 代码如下:
<?
require("adodb/adodb.inc.php");
$conn=newadoconnection('mysql');
$conn->connect("localhost","root","2027205","bh38") or die("连接不成功");
$conn->execute("set names gb2312");
$conn->execute("INSERT INTO `vv` (`cc`) VALUES ('换了个编码不知道行不行');") or die("错误");
$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;
Database changed
mysql> insert into mysqlcode values(null,'php爱好者');
ERROR 1406 (22001): Data too long for column 'content' at row 1
没有指定字符集为gbk,插入时出错
mysql> set names 'gbk';
Query OK, 0 rows affected (0.02 sec)
指定字符集为 gbk
mysql> insert into mysqlcode values(null,'php爱好者');
Query OK, 1 row affected (0.00 sec)
插入成功
mysql> select * from mysqlcode;
+----+-----------+
| id | content |
+----+-----------+
| 1 | php爱好着 |
+----+-----------+
1 row in set (0.00 sec)
在没有指定字符集gbk时读取也会出现乱码,如下
mysql> select * from mysqlcode;
+----+---------+
| id | content |
+----+---------+
| 1 | php??? |
+----+---------+
1 row in set (0.00 sec)