正文
数据库编码和php不同 数据库编码规则
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
我用的mysql编码和网页的编码都是utf-8,为什么数据库查看不是乱码,但php输出乱码??
中文乱码问题经常会出现
1、数据库、数据表、字段 编码格式要保持一致
2、如果在doc界面录入数据,要保持当前编码格式与数据表编码格式一致
3、php读取数据显示,要保持文件的编码格式、html页面的编码格式同数据库一致,编码格式为utf-8或gb2312或gbk
4、php连接数据库之后mysql_query('set names gbk')
你的问题应该是数据库编码格式不是utf-8,查看一下
请教php编码问题
简单介绍:
首先你的网站出现乱码问题,是由于编码不统一引起的,在一个网站中有三处编码:数据库编码、php程序编码、网页显示编码。数据库编码:即mysql建数据库时的编码,大多数默认是utf8_general_ci;php程序编码:即连接数据库时设定的编码,mysql_query("set names 'utf8'");也可以是GBK等;网页显示编码:即浏览器显示的编码,可以在html网页中定义,meta http-equiv="content-type" content="text/html;charset=utf-8" /,也可以在php页面的header(“content-type:text/html;charset=utf-8")函数定义。
原因:
1、数据库编码、php程序编码不一致。这种情况下,你插入到数据库中的就是乱码了,所以显示的是乱码,在数据库中看到的就是乱码。
2、数据库编码、网页编码不一致。这种情况下,你插入到数据库的数据是正常显示的,但从数据库读出并显示到浏览器就是乱码了,因为两者编码不一致,致使编码混乱所致。
3、php程序编码、网页显示编码不一致。这种情况下,你的源数据编码与显示的数据编码不一致,从而使显示乱码,这一点比较好理解,两者从开始就不一致,所以最后显示就不一致,呈现乱码。
解决方法:
避免乱码,要做到”三码合一“,即上述三处编码要统一,举个例子:如果你要用utf-8的编码,那么数据库编码就为:utf8_general_ci;php程序编码就为:mysql_query("set names 'utf8'");,网页显示编码就为:meta http-equiv="content-type" content="text/html;charset=utf-8" /或者是php页面中的header(“content-type:text/html;charset=utf-8"),这就看你的前台页面是html还是php了。
如果这三码统一了,你打开网页还是乱码,就右键单击网页选中编码项,改为你网页的编码或者是自动检测,要不就在浏览器的工具菜单里改一下编码,刷新一下网页就ok。
php保存数据在MySql中怎么都是乱码
1、php/html文件编码与数据库编码不统一
2、连接数据库时没有设置连接编码,“set names 。。。”
3、数据库编码设置有问题
4、数据库字段编码设置有问题
5、php程序里面没有对相关的字段进行转码
mysql数据库编码与用php显示的问题
可以把数据库处理语句写到一个类(推荐)数据库编码和php不同了数据库编码和php不同!也可以把PHP,数据库的编码都设成一样!这句是把数据以数据库编码和php不同你设置的编码存入数据苦!并没有修改!不信就试试:如你设置的编码是gb2312把数据库的改成utf8看会不会乱码数据库编码和php不同?
为什么直接在数据库中添加数据php网页中显示乱码,从网页往数据库添加数据数据库中显示乱码?
这是因为你的php网页编码和数据库编码不相同,如果你的数据库是gbk_chinese_ci的话,那你的网页编码要改成GB2312. 这样就不会乱码了. 具体操作,你可以详细问我.
php文件和mysql数据库编码问题
文件编码需要做到三个编码一致,如果你做到以下三个编码一致就永远不会出现乱码了!!!!!
(1)数据库编码
数据库编码注意的是数据库表字段的编码和数据库客户端编码,比如表字段的编码是UTF-8,操作数据库PHP文件编码是GB2312, 怎样才不会出现乱码呢?这个时候就要用SET NAMES GB2312来设置数据库服务器的客户端的编码,这样数据库服务器就会自动将数据库中编码为UTF-8的数据自动转化为GB2312,在接收的PHP文件就保证收到的数据不会有乱码
(2)PHP文件编码
也就是你在保存文件时选择的文件编码,如果不是当前你想要的编码可以通过“另存为”改变编码
(3)HTML中meta http-equiv="content-type" content="text/html;charset=gb2312"/设置客户端浏览器显示数据的编码,其本质是设置HTTP中Content-Type报头的值,PHP中要做到这一点可以用 header("content-type:text/html;charset=gb2312")
做到上面各编码一致的编码一致,不会出现乱码的!!
数据库编码和php不同的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于数据库编码规则、数据库编码和php不同的信息别忘了在本站进行查找喔。