数据库php乱码怎样处理?
比来正在应用Apache+php+MySql操练网站编写,正在存储数据的进程中,HTML表单中输出的中文经过php存入数据库外面显示是乱码,baidu了一下,各类说法都有,真的操碎了心,不外仍是看到几条有用的信息,就是不论是中文的仍是英文和其余字符,编码格局都设置成utf8这类格局。
保举:《PHP教程》
一、正在html代码中加之这句:
<metahttp-equiv=”Content-Type” content=”text/html; charset=utf-8″>,这个来界说网页的编码,正在衔接数据库,抉择详细数据库后,用mysql_qurry(“set names utf8”);来设置数据库的编码以及html编码分歧。用的是zend studio开发环境,开发环境也有其代码显示的编码,以是也要改为utf8格局。另一个就是正在创立数据库表的时分也是很要害的,例如正在phpMyAdmin数据库中,创立一张tb_product表时分:也要设置外面字段的编码形式,多说无用,看图1吧: 正在中下地位将Collation设置为utf8-general-ci编码
图1
图2
二、要是创立表的时分遗记设置这个属性了,也不必担忧,另有办法,起首抉择要修正属性的表,点击Operations修正其属性,同时能够勾上changeall column这个,确定便可,如图2所示.为了进一步保障没有呈现乱码,还能够对 该表中的某些字段或许以是字段辨别增加utf8-general-ci。详细操作:点击需求修正的表(tb_product)->Structure->check all->change,而后再独自设置每一个字段的Collation。如图3所示.
图3
留意:要是没对整个表抉择编码为utf8-general-ci,而只是对表中的某些字段设置成utf8-general-ci格局,经过Operation查看表的属性,仍是会看到整个表的编码为:如gbk-chinese-ci这类格局的话,假如Html编码是utf8,那仍是会呈现乱码的,以是最要害的是对整个表的Collation设置为utf8-general-ci。如图4以及图5,图4中尽管pro_name以及pro_producer看起来是utf8-general-ci编码,可是经过查看整个表的编码仍是如gbk格局,编码纷歧致,以是极可能正在表中仍是会呈现乱码。
好了,总结一下,长话短说,四点:
一、 如正在zend studio中编写php,html代码,起首将创立的工程的显示编码格局为utf8格局;
二、 正在html中应用<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″>要编写的网页显示的编码格局;
三、 衔接数据库的时分正在抉择某个数据库后(没有是表)应用mysql_qurry(“set names utf8”);
四、 就是下面提到的创立数据库的时分将整个表的编码格局设置为utf8-general-ci。
图4
图5
以上就是数据库php乱码怎样处理的具体内容,更多请存眷资源魔其它相干文章!
抱歉,评论功能暂时关闭!