PHP、MySQL、浏览器编码不统一的情况下如何保证正常解析?
2015-03-03 09:07
931 查看
最理想的情况是,把三者编码都统一成gbk或者utf-8,这样解析就一切正常。但如何不统一呢?
比如:
——PHP的编码是utf-8
——MySQL的编码是utf-8
——浏览器的编码是gbk
这时,只要考虑PHP和浏览器之间即可,因为PHP和MySQL的编码是一致的,可以不考虑。而如何告诉浏览器,PHP返回给浏览器的东西是用utf-8,请用utf-8解析?
答案:
(1)方法之一就是我们在PHP中用的那个header函数。header("Content-type:text/html;charset=utf-8");
(2)方法之二就是我们在html代码的meta标签中设置的。<meta http-equiv="content-type" conetnt="text/html;charset=utf-8">
而如果,PHP和MySQL之间的编码也不统一,怎么互相告诉对方自己的编码呢?
答案:
(1)方法之一就是在MySQL中修改MySQL服务器接受PHP以及返回给PHP数据时的编码,set character_set_client=utf8;是告诉MySQL服务器当前PHP发过来的是utf8编码。set character_set_result=utf8;是告诉MySQL服务器当前PHP只能接受utf8的东西。
(2)方法之二是一种简化的写法。就是直接在PHP代码中设置set names utf8;表示我PHP只发送和接受utf8编码的东西。属于上面方法一的简化。
比如:
——PHP的编码是utf-8
——MySQL的编码是utf-8
——浏览器的编码是gbk
这时,只要考虑PHP和浏览器之间即可,因为PHP和MySQL的编码是一致的,可以不考虑。而如何告诉浏览器,PHP返回给浏览器的东西是用utf-8,请用utf-8解析?
答案:
(1)方法之一就是我们在PHP中用的那个header函数。header("Content-type:text/html;charset=utf-8");
(2)方法之二就是我们在html代码的meta标签中设置的。<meta http-equiv="content-type" conetnt="text/html;charset=utf-8">
而如果,PHP和MySQL之间的编码也不统一,怎么互相告诉对方自己的编码呢?
答案:
(1)方法之一就是在MySQL中修改MySQL服务器接受PHP以及返回给PHP数据时的编码,set character_set_client=utf8;是告诉MySQL服务器当前PHP发过来的是utf8编码。set character_set_result=utf8;是告诉MySQL服务器当前PHP只能接受utf8的东西。
(2)方法之二是一种简化的写法。就是直接在PHP代码中设置set names utf8;表示我PHP只发送和接受utf8编码的东西。属于上面方法一的简化。
相关文章推荐
- 保证JavaScript和Asp、Php等后端程序间传值编码统一(转)
- 【MySQL】统一控制台-pma-PHP编码!解决中文乱码问题
- 保证JavaScript和Asp、Php等后端程序间传值编码统一
- 网页语言有html,php.jsp,无论什么语言浏览器总是能正常显示,这个解析工作是浏览器完成的吗?
- 保证JavaScript和Asp、Php等后端程序间传值编码统一
- 在后端是PHP程序的情况下,保持前端Javascript和PHP之间传值的统一编码可以使用以下函数进行处理:
- 如何保证JavaScript和Asp、Php等后端程序间传值编码统
- 【MySQL】统一控制台-pma-PHP编码!解决中文乱码问题
- 如何利用phpMyAdmin创建数据库,设置编码 php apache MySQL
- MYSQL与PHP链接,前台显示编码正常,后台乱码
- 共享:在UTF-8编码情况下PHP截取中文字符串的代码
- 如何解决:正常安装php后,出现http 400错误
- [MySQL FAQ]系列 -- slave上如何保证只读
- Php+MYSQL中文编码问题解决全过程
- fedora下如何让PHP包含MYSQL
- PHP 如何向 MySQL 发送数据
- 如何利用php+mysql保存和输出文件
- 一个简单的php实现的MySQL数据浏览器
- 如何利用php+mysql保存和输出文件
- ABAP--如何限制自己开发的耗时报表在sap系统中运行的个数,以保证正常业务的进行