听说PHP慎用有BOM的UTF-8格式,因为在include文件的时候可能会出错……
但是我发现一个问题:
如果我的网页里没有中文字符的话,用Notepad++保存成无BOM的UTF-8格式实际上保存成了ANSI的。
万一我的网页里比如返回了一个UTF-8格式的Mysql查询结果出现乱码怎么办?顺便问一下在没有BOM的情况下系统怎么认得出这个是UTF-8编码?

解决方案 »

  1.   

    在HTML的<Head>标签中指定:
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    手动指定网页编码为UTF-8,PHP在浏览器中运行的时候就固定会显示UTF-8编码了
      

  2.   

    你可以将文件分别保存为UTF-8,ANSI格式,用Ultraedit打开就能看到UTF-8是有格式识别字节的,没记错的话,应该是前面三个字节,换句话说,不同内容的UTF-8文件,前面的格式识别字节,是一样的。
      

  3.   

    php文件如果里面没有中文,保存成ANSI格式,数据库编码UTF8,也是可以用来显示UTF-8格式网页的除了制定charset,最好输出前加上header('Content-type: text/html; charset=utf-8');
      

  4.   

    除unicode编码外,基本ascii码在编码中都与ANSI一样浏览器具有自动探测语言编码的能力最好在页面中声明语言编码
      

  5.   

    用DW或editplus保存。
    如果页面里还有html标签,则加上
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />