1.web的问题好解决,
在Apache的http.conf或者PHP目录下的.htaccess里面加上默认编码就可以,
这样在程序里就不用
header("Content-type= text/html; charset=utf8");
如下:
[code=BatchFile]AddDefaultCharset UTF-8[/code]
2.mysql方面,如果想避免mysql_query("set names 'utf8'");
就只能改动my.cnf了。
在client下面加上这句,重新启动看看。
[client]
default-character-set=utf8

解决方案 »

  1.   

    你好froole
    我不是想避免打这些代码
    我初学PHP
    也许想法不对噢
    我现在是这样认为的
    我觉得他是不是HTML的编码和PHP调用的编码不一样
    我认为HTML用的是GB2312,数据库调用的时候用UTF8了
    我想把HTML的转成UTF8但是貌似不行也许我方法不对
    我想问的是统一的方法
    不是想偷懒少打噢
      

  2.   

    如果你单单把HTML转为的话,可以使用DW来规范编码的。
      

  3.   


    理解你的意思,同样的代码写那么多遍谁都不乐意。依照你的叙述,程序内部没问题,但是服务器环境跟你的程序有冲突。PHP中必须加header("Content-type= text/html; charset=utf8"); 
    说明Apache通信息中返回的编码跟你程序中的编码不一致,
    所以,改变设定信息中的AddDefaultCharset就可以解决问题。
    ——这是一个HTTP通信协议的问题必须执行mysql_query("set names 'utf8'");
    同样是因为mysql设定的默认编码不是UTF-8,所以需要更改设定。
    my.cnf中的default-character-set=utf8之后应该可以解决问题。
    ——这应该是mysql通信问题
      

  4.   

    问题的原因是,
    你哪个页面的中文(不是指从数据库里读取的中文),是gb2312的,因为你程序本身是gb2312,所以就出现问题了.
    要么将文件格式改成utf-8,要么在程序里用iconv将汉字转成utf8的.
      

  5.   

    参看一下:
    http://topic.csdn.net/u/20080711/15/6c1a2b99-5e38-497c-9cb4-17e9d575c90b.html
      

  6.   

    程序编码(gb2312)和数据库编码(utf-8)不一样呀,最好的方法就是在编写程序的时候将程序的编码类型保存为utf-8和数据库保持同步,并在你的程序中加上你上面所说的,header("Content-type= text/html; charset=utf8");和mysql_query("set names 'utf8'"); 可以看一下能否解决问题
      

  7.   

    谢谢楼上的各位
    我现在解决了
    我用的方法是自由火说的改变文件编码
    我把所有的文件以UTF-8格式再保存了一遍
    现在正常了
    谢谢各位的热心帮助