首页 > 后端开发 > php教程 > 都有哪些地方的编码方式需要注意?

都有哪些地方的编码方式需要注意?

WBOY
发布: 2016-06-23 14:04:57
原创
1140 人浏览过

接触这么长时间的网页设计,已经碰到了非常多的和编码方式有关的东西了。但是今天又遇到了了一次乱码,还好搜一下就解决了。
以下是我知道的需要注意编码方式的地方:
1.
(通知浏览器本页面的解码方式)
2.
文档保存时的编码方式
3.
数据库的编码方式(在定义数据库或者表的时候设置)
4.
SQL语句的编码方式(使用“SET NAMES UTF8”设置)

其中最后一个的编码方式是由什么决定的?在这种情况下:
一个静态页面通过文本数据框数据一个数据,通过get方法传输到另一个php页面,这个php页面将这个数据放到一条插入语句中,并执行这条SQL语句。
此时这条查询语句的编码方式是由什么决定的?是静态页面的编码方式还是动态页面的编码方式还是其他的东西?反正我全都设置成UTF-8了,成功插入了,没有乱码。但是问题是每次插入都要使用“SET NAMES UTF8”设置,怎么才能把UTF8设置成SQL语句的默认编码方式?

另外还有那些地方需要注意编码方式?


回复讨论(解决方案)

所有的“编码方式”都以输出的页面为基准

mysql具有自适应“编码”的功能(其他数据库不清楚),即你让他返回什么编码他就返回什么编码

原则是:几乎每一次IO就要考虑编码问题
载入php本身就是一次,因为系统/web server和php本身就是两个编码
php输出,客户端系统/浏览器和输出的字符是两个编码
读写文件、读写数据库,include……等等

再提几个容易忽略的
cookies,这个几率不大,但也要留意
session,我没测试两个不同编码的php共同使用一个session的情况,你试试
发送接收,例如curl、socket和API
和其他语言交互
……

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板