• 技术文章 >后端开发 >PHP问题

    php执行数据库乱码怎么办

    hzchzc2020-06-17 14:21:01原创765

    php执行数据库乱码怎么办

    1、在html代码中加上这句:

    <metahttp-equiv=”Content-Type” content=”text/html; charset=utf-8″>,这个来定义网页的编码,在连接数据库,选择具体数据库后,用mysql_qurry(“set names utf8”);来设置数据库的编码和html编码一致。用的是zend studio开发环境,开发环境也有其代码显示的编码,所以也要改成utf8格式。另外一个就是在创建数据库表的时候也是很关键的,例如在phpMyAdmin数据库中,创建一张tb_product表时候:也要设置里面字段的编码方式,将Collation设置为utf8-general-ci编码

    2、要是创建表的时候忘记设置这个属性了,也不用担心,还有方法,首先选择要修改属性的表,点击Operations修改其属性,同时可以勾上changeall column这个,确定即可,为了进一步保证不出现乱码,还可以对 该表中的某些字段或者所以字段分别添加utf8-general-ci。具体操作:点击需要修改的表(tb_product)->Structure->check all->change,然后再单独设置每个字段的Collation

    注意:要是没对整个表选择编码为utf8-general-ci,而只是对表中的某些字段设置成utf8-general-ci格式,通过Operation查看表的属性,还是会看到整个表的编码为:如gbk-chinese-ci这种格式的话,如果Html编码是utf8,那还是会出现乱码的,所以最关键的是对整个表的Collation设置为utf8-general-ci。虽然pro_namepro_producer看起来是utf8-general-ci编码,可是通过查看整个表的编码还是如gbk格式,编码不一致,所以很可能在表中还是会出现乱码。

    好了,总结一下,长话短说,四点:

    1、 如在zend studio中编写phphtml代码,首先将创建的工程的显示编码格式为utf8格式;

    2、 在html中使用<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″>要编写的网页显示的编码格式;

    3、 连接数据库的时候在选择某个数据库后(不是表)使用mysql_qurry(“set names utf8”);

    4、 就是上面提到的创建数据库的时候将整个表的编码格式设置为utf8-general-ci。

    推荐教程: 《php教程

    以上就是php执行数据库乱码怎么办的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:php
    上一篇:怎么搭建php mysql坏境 下一篇:NOCC 是什么意思?
    大前端线上培训班

    相关文章推荐

    • Thinkphp中eq、neq、gt、lt等表达式缩写• phpmyadmin是免费的吗• 宝塔中phpmyadmin上传sql文件被限制怎么办• PHP8 新特性之 Attributes

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网