一。如果选择 Unicode (UTF-8) 作为默认编码,请选择一个 Unicode 标准化表单。 有四种 Unicode 标准化表单。最重要的是标准化表单 C,因为它是用于万维网的字符模型的最常用表单。Macromedia 提供其他三种 Unicode 标准化表单作为补充。(通常情况下是选“标准化表单 C”)在 Unicode 中,有些字符看上去很相似,但可用不同的方法存储在文档中。例如,“”(e 变音符)可表示为单个字符“e 变音符”,或两个字符“正常拉丁语 e”+“组合变音符”。Unicode 组合字符是与前一个字符结合使用的字符,因此变音符会显示在“拉丁语 e”的上方。这两种形式都显示为相同的印刷样式,但保存在文件中的每种形式是不同的。标准化是指确保可用不同形式保存的所有字符都使用相同的形式进行保存的过程。即,文档中所有“”字符都保存为单个“e 变音符”或“e”+“组合变音符”,而不是在一个文档中保存为这两种形式。有关 Unicode 标准化和可以使用的特定表单的更多信息,请参见 Unicode Web 站点,网址是 http://www.unicode.org/reports/tr15 。 二。如果选择 Unicode (UTF-8) 作为默认编码,则可以选择“包括 Unicode 签名 (BOM)”选项以在文档中包括字节顺序标记 (BOM)。 BOM 是位于文本文件开头的 2 到 4 个字节,可将文件标识为 Unicode,还标识后面字节的字节顺序。由于 UTF-8 没有字节顺序,因此可以选择添加 UTF-8 BOM。对于 UTF-16 和 UTF-32,这是必需的。相同代码内容的两个文档,使用了BOM的文档字节比未使用的文档字节多3个字节

解决方案 »

  1.   

    谢谢!
    另外,似乎PHP文件保存为UTF-8编码,应该选择不包括BOM吧,如果包括了BOM,会在使用session_start()时报错。
      

  2.   

    学习了!
    BOM 好象是文件的一种编码识别符,从而告诉文本编辑器这个文件是用的什么编码
    比如:用记事本打开,则会自动选择utf8编码,如果没有识别符,则可能以默认编码打开(如ansi)
    除此之外bom好象没有什么用个人理解php文件应该可以保存为UTF-8编码带BOM,不影响
    和session_start()关系不大,如果有报错,看出错行号,看是不是出错在bom输出