首頁 > 後端開發 > php教程 > 都有哪些地方的编码方式需要注意?

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

WBOY
發布: 2016-06-23 14:04:57
原創
1139 人瀏覽過

接触这么长时间的网页设计,已经碰到了非常多的和编码方式有关的东西了。但是今天又遇到了了一次乱码,还好搜一下就解决了。
以下是我知道的需要注意编码方式的地方:
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
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板