php开发网站编码统一问题

  一个良好的网站代码整洁,注释适当是最基本的,也是好的习惯,这能够避免之后的很是乱了本身感受都乱,一旦重构麻烦就大了耗时耗力,其中网站整个体系的编码是最重要的一个方面,为了网站的稳定性建议php程序,HTML页面,css和js文件,数据库编码所有为utf-8编码,这样保证网站在任何位置被访问都可以正确显示,固然也能够用gb2312或者gbk的编码占用空间小一些,但注意也要编码统一,不同的要转换。php

  一、首先HTML文件,文件自己编码是由编辑器所决定的,无论你用实体仍是十六进制编码都和页面编码是独立的没有关系,这里编辑器都要设置成纯utf-8和gb2312的,不要带BOM头不然有时候会出现问题,vim、sublime Text、gedit编辑器都是默认纯正的utf-8编码,页面编码肯定为utf-8编码以后,咱们还要用<meta>标签来设置页面编码,传送至http头,以便浏览器正确解析,代码以下:css

<meta charset="utf-8">

这种写法是HTML5标准写法,目前浏览器都支持,不用再像HTML4中写那么长了html

  二、而后就是php文件,仍是文件自己编码要肯定,若是php标记是嵌入在HTML中的,那么和1中同样建议在<meta>标签中声明,若是是php类文件,则不用声明编码,保持文件自身编码便可,不嵌入HTML的php脚本每一个文件必须声明编码,都在php文件的第一行,用header()函数向http头设置编码,代码以下:mysql

header("Content-Type:text/html; charset=utf-8");

这样就好了sql

  三、CSS和独立的JavaScript编码,这个不用声明,文件自己用utf-8编码写就行,他们默认是utf-8编码特别是JavaScript传递参数时传递的是utf-8编码,若是页面或者数据库是gbk编码,那么要进行转码。数据库

  四、数据库编码,创建数据库的时候通常要设置字符集,咱们都保持统一设置成utf8系列的就行,通常选择utf8_general_ci这个字符集,而后用php链接数据库并选择数据库以后,必定要设置数据库编码,设置代码以下:vim

mysql_query('set names utf8');

  五、若是是和其余网站交互或者抓取网页与本身网站编码不一致,那么须要进行转换编码以及URL编码解码的操做,字符编码咱们能够用iconv()函数或者mb_convert_encoding()函数进行编码转换,若是发送到URL要用urlencode()和urldencode()函数进行编码和解码,重点是弄清楚咱们本身网站文件编码、声明头编码、请求参数等等全部编码都是统一的,和其余网站交互只要转换成和他们网站同样的编码就行啦,而后灵活运用这些函数就没问题了,其余的交给浏览器来完成,咱们直接向浏览器发送字符或者URL编码都OK,关键是编码一致浏览器

 

    通过以上几步编码就统一了,对于整个网站的乱码问题基本上就能够解决了,这个刚开始不容易理解,多练习多思考天然就能够掌握好了编辑器

相关文章
相关标签/搜索