我是这么理解的 不知道 对不对先是数据库    以一个编码存放  中文字符  GBK UFT GB2312等然后 PHP 与数据库连接 mysql_query("SETNAMES xxxx")
指定与数据库连接用什么格式的编码  存和取
header("content-type:text/html;charset=xxx"); 
然后设置网页输出编码  这个只要与数据库交互的编码一直 就可以正确 存和取了文件编码是什么意识  一直用DW 

解决方案 »

  1.   

    文件编码:文件本身的编码浏览器输出编码什么的:告诉IE文件是什么编码的,一般和文件本身编码一致,不一致出错,header优先meta数据库编码-校验编码::存在数据库里的字符编码连接校验:当IE和数据里的编码不一致时,指定用什么连接编码翻译 
      

  2.   

    下载几个成熟的cms,看一下人家是怎么对待编码问题的,具体说来,俺也不能说清楚。
      

  3.   

    文件编码:你创建文件时文件本身的编码
    数据库编码 :你数据库字段值以什么编码存储的
    还有数据库效验码:当IE和数据里的编码不一致时,指定用什么连接编码翻译
    还有浏览器输出编码什么的:告诉IE文件是什么编码的,一般和文件本身编码一致,不一致出错,header优先meta 
      

  4.   

    这涉及到开发规范.如果你的项目自始至终都保持一个的好的开发规范,好多问题是可以规避的.
    其它的暂且不谈,因为关于编码问题CSDN都问烂了.对于文件编码,这个完全也是可以规避的.为什么呢?
    一个项目,显示层,控制层以及数据层是可以剥离的.数据层所获取的数据一般可以从两种方式获取,一种数据库,一种是非数据库.
    对于非数据库,以xml文件为例,要考虑xml文件存储的编码,因为xml文件存储的是你需要显示的数据.其实xml本身也是一种数据库,文本数据库,呵呵.将一切都扼杀在摇篮之中.
      

  5.   

    楼上说的太高升了每个页面 meta header 编码统一 == 保持数据库也统一如果有数据库操作类的话,new 类之后,setnames 编码, 之后那一个页面的数据操作就不用管了!没有的话,在页面头一次数据操作时候用一次setnames 编码
      

  6.   

    其实在服务器架设的时候就要考虑你的编码的问题了,数据库编码、浏览器、文件编码等,UTF8,GBK,最好是能统一
      

  7.   

    诚如jakey所言,编码这个问题已经问烂了……先从MySQL数据库开始说。在创建数据库、创建表的时候,就可以指定编码。一般我会用utf8_general_ci,InnoDB格式。然后是PHP文件。这个文件本身,也要用utf8编码保存。如果忘记保存为utf8格式,那么最可能的现象就是无论你如何设置IE/Fx,显示出来的内容中,动态内容(来自数据库)和静态内容(来自你写在PHP文件中)将永远无法同时正确显示。如果你设置浏览器编码为utf8,那么动态内容可能好了,而静态内容乱码;如果你设置浏览器编码为gb2312/gbk18030,那么静态内容好了,动态内容乱码。很多IDE都支持转换文件本身编码另存的功能,最容易被忽略的是Windows自带的记事本,当然它所保存的utf8格式文件会带一个BOM头,不过一般不影响使用。自从我这样操作之后,从来没有碰到过乱码的问题……
      

  8.   

    金玉良言呀,PHP入门太容易了,但精通就难了.
    每天还要为这些初级问题困扰,啥时候能精通呢.
    不过以为入门容易,就放弃严谨的编程态度和正确的心态.良好的习惯 良好的规范 良好的工具 缺一不可.
    比如说什么bom头,我从来就没有考虑过,也从来没有遇到过问题,因为自始至终的我项目就是统一编码utf-8.