Filed under: 程序开发 | No Comments »
Posted on July 31st, 2008 by 李 方进
猫猫举报说奥运竞猜的页面样式有问题,昨天下午开始仔细的检查检查再检查:
1.样式表的问题排除
2.页面编码方式可能导致的问题排除
百思不得其解,这种莫名的问题老实说第一次碰到。
快下班的时候无意中发现我新装的EditPlus3的保存选项中UTF-8标识选的“总是加入签名”,印象中这个选项是“总是删除签名”,于是尝试着把这个选项改掉,然后把奥运竞猜的程序全部重新另存一遍上传到服务器——OK,页面样式对了。

问题是解决了,但是为何这个“签名”会导致这种问题?万能的Google告诉我:
utf-8 是一种在web应用中经常使用的一种 unicode 字符的编码方式,使用 utf-8 的好处在于它是一种变长的编码方式,对于 ANSII 码编码长度为1个字节,这样的话在传输大量 ASCII 字符集的网页时,可以大量节约网络带宽。使用 utf-8 编码来编写网页的时候, 往往会因为 bom (Byte Order Mark) 的问题,导致网页中经常出现一些不明的空行或者乱码字符。 这些都是因为 utf-8 编码方式对于 bom 不是强制的。因此 utf-8 编码在保存文件的时候,会出现不同的处理方式。比如有的浏览器(FireFox)可以自动过滤掉所有 utf-8 bom , 有的 (IE) 只能过滤掉一次 bom (为什么是一次? 当你出现 Include 多次文件时就会碰上这个问题了)。
对此 w3.org 标准 FAQ 中对此问题有一个专门的描述: http://www.w3.org/International/questions/qa-utf8-bom
相关文章
Filed under: 程序开发 | No Comments »
Posted on March 12th, 2007 by 李 方进
今天在使用php进行cookie开发的时候发现,只能用最多10个数组元素,之后cookie值就乱了,查了查原因,原来是IE对cookie有限制.
名称 - 值对每个 Cookie 开头。 此对由零或详细属性 - 值对由分号分隔的后面。 对于一个域名, 每个 Cookie 仅限于 4,096 字节。 这个总数可存在作为一个名称 - 值对的 4 千字节 (KB) 或作为最多 20 名值 pairs 总该 4KB。 如果计算机没有足够空间来存储 Cookie, 丢弃该 Cookie。 则将不被截断。 Cookie 应用程序应使用尽可能少 Cookie 尽可能和作为小型作为尽可能。 此外, 应用程序应该能够处理一个 cookie 丢失。
如果 Web 应用程序使用多 19 自定义 Cookie, ASP 会话状态可能丢失。 Internet Explorer 4.0 和更高版本允许总共 20 Cookie 对于每个域。 浏览器因为如果使用 20 或更自定义 Cookie, ASPSessionID 是 Cookie, 将强制删除 ASPSessionID Cookie 和会话丢失。
来存储对于域, 20 多名称 - 值对由串联几对各个 Cookie 到 4,096 字节限制为该 Cookie 名称 - 值对创建一个 cookie 词典。 当前, 来检索这些值来自客户端脚本, 您必须分析 Cookie 手动。 但是, ActiveServerPages 请求 和 响应 对象包括内置功能使用 Cookie 词典作为词典对象。
在firefox下不存在这个问题.