解决PHP写入、读取MYSQL数据库数据中文乱码问题

使用PHP和MYSQL开发过程中经常会遇到PHP写入或读取MYSQL数据库中数据,出现中文乱码的问题,英文和数字不会出现乱码。这个问题非常让人头痛,因为导致这个问题的原因比较多,比如网页和数据库编码不一致,不同版本MYSQL不兼容等,想一下找到解决方法还是有点困难的…今天我编写一个小程序的时候又遇到了这个问题。
       用php向mysql中写数据,在Dreamweaver中先设置了首选参数中的编码为utf-8,前后台页面都统一用utf-8(mysql默认就是用的utf-8,那就不必改了 ),但是一碰到向数据库里写的数据中有中文,打开phpmyadmin一看中文全是乱码,于是用Google查解决方法, 试了不少方法都不行,不是写入出现中文乱码就是读取出现中文乱码。   

        最后还是用常见的方法:mysql_query中的”set names charset”, 解决了。其中有一点要特别注意:PHP中设置使用“utf8”,而不是“utf-8”。就这样问题解决了,我也感到有点奇怪,平时把utf-8和utf8看做一回事,其实不然!

总结一下这个乱码问题的解决方法:

1.确认所有页面都统一使用同样的编码,强烈建议用utf-8;
2. 在用mysql_query作查询时无论是写入数据到mysql还是从mysql提数据出来,设置mysql_query(“set names utf8″)..,连接数据库时就设置,而且不要把这时的“utf8”写成“utf-8”,这点很重要。

设置了mysql_query(“set names ‘charset’”)之后,就不再出类似以下问题:

1.用php写入数据到mysql用phpmyadmin查看时中文变成了一堆不知所云的乱码;
2.用php写入到mysql的中文在phpmyadmin中查看正常,但PHP读出来显示到网页中时全都变成了”?????”。


  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值