2012年7月

今天很郁闷!做了个PHP页面,Chrome显示正常,IE显示却不正常。本来骂IE、骂微软是正常不过的了,但不是骂完就能解决问题的。

Google的答案是UTF-8的BOM问题。BOM(Byte Order Mark),即UTF-8签名(UTF-8 signature),是UTF编码方案里用于标识编码的标准标记。简单来说,PHP编译代码时,没有理会BOM,造成IE显示错误。也由于使用了CodeIgniter框架,即使改了View页面,也解决不了问题,最后修改了相关的文件,即系Route、Controller、Model等相关页面。简单来说,用UTF-8编码写PHP,就要统一使用无BOM的UTF-8。

感觉每次用新的东西都会这样那样的小问题。其实都是因为基于已有的经验来做,比如因为用Java而使用UTF-8。