zoukankan      html  css  js  c++  java
  • php开发网站编码统一问题

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

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

    <meta charset="utf-8">

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

      2、然后就是php文件,还是文件本身编码要确定,如果php标记是嵌入在HTML中的,那么和1中一样建议在<meta>标签中声明,如果是php类文件,则不用声明编码,保持文件自身编码即可,不嵌入HTML的php脚本每个文件必须声明编码,都在php文件的第一行,用header()函数向http头设置编码,代码如下:

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

    这样就行了

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

      4、数据库编码,建立数据库的时候一般要设置字符集,我们都保持统一设置成utf8系列的就行,一般选择utf8_general_ci这个字符集,然后用php连接数据库并选择数据库之后,一定要设置数据库编码,设置代码如下:

    mysql_query('set names utf8');

      5、如果是和其他网站交互或者抓取网页与自己网站编码不一致,那么需要进行转换编码以及URL编码解码的操作,字符编码我们可以用iconv()函数或者mb_convert_encoding()函数进行编码转换,如果发送到URL要用urlencode()和urldencode()函数进行编码和解码,重点是弄清楚我们自己网站文件编码、声明头编码、请求参数等等所有编码都是统一的,和其他网站交互只要转换成和他们网站一样的编码就行啦,然后灵活运用这些函数就没问题了,其他的交给浏览器来完成,我们直接向浏览器发送字符或者URL编码都OK,关键是编码一致

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

  • 相关阅读:
    不务正业系列-浅谈《过气堡垒》,一个RTS玩家的视角
    [LeetCode] 54. Spiral Matrix
    [LeetCode] 40. Combination Sum II
    138. Copy List with Random Pointer
    310. Minimum Height Trees
    4. Median of Two Sorted Arrays
    153. Find Minimum in Rotated Sorted Array
    33. Search in Rotated Sorted Array
    35. Search Insert Position
    278. First Bad Version
  • 原文地址:https://www.cnblogs.com/freeweb/p/4560830.html
Copyright © 2011-2022 走看看