都有哪些地方的编码方式需要注意?
Jun 23, 2016 pm 02:04 PM 接触这么长时间的网页设计,已经碰到了非常多的和编码方式有关的东西了。但是今天又遇到了了一次乱码,还好搜一下就解决了。
以下是我知道的需要注意编码方式的地方:
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
和其他语言交互
……

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Laravel Back End : Part 2, React가있는 React 앱 구축

PHP의 컬 : REST API에서 PHP Curl Extension 사용 방법
