2007.8. Found 3, Page1/1

utf-8网页在ie下显示空白的解决方法

这个问题要从浏览器解析html的方式讲起。浏览器读取了页面的html代码后开始进行解析。解析前浏览器要先知道页面的编码方式,然后根据编码方式进行解码,然后才能开始解析。我大概想了一下,浏览器可以从下面3个方面得到页面编码方式:HTTP Header中的"Content-Type"项、返回的html代码开头是否有BOM、html代码中的meta标签。浏览器(无论是IE还是Firefox)在解析页面时,首先取HTTP Header中的Content-Type项,如果有写明charset的话就认定页面的编码方式为charset指定的值。如果没有指明,则认定为默认值。根据上表,IE中文版的默认值是GB2312,Firefox中文版的默认值是GBK,不过IE的GB2312好像和GBK没啥区别。然后,浏览器会看一下有没有BOM。一旦发现有UTF-8的3字节BOM,则重新认定页面的编码方式为UTF-8。然后是解码阶段,解码完成后是解析html的阶段。解析html的过程中,当解析到head部分的meta标签时,浏览器会根据<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />这个语句中的说明,重新认定编码方式为charset后面的方式,中断html解析过程,返回到解码步骤重新解码。知道了这个步骤,再来看这个表:在加了Header语句设置了HTTP Header后,两个浏览器解析所有页面都是用的UTF-8方式,包括GBK编码的页面。(当然要正常解析GBK编码的文件,可以在title前加上个meta标签标明编码方式。)在上表的下半部分可以清楚的看到这一点。再来看上半部分,在没有加Header语句的页面里,首先浏览器认定页面编码方式为默认值GBK。检测有无UTF-8的3字节BOM,检测到的,认定页面编码方式为UTF-8,解码再解析html,一切正常。如上表所示,上半部分带BOM的页面都能正常显示。如果没有BOM,页面可能是GBK或者UTF-8(no BOM)格式,浏览器会先按照默认的GBK方式开始解码。页面为GBK格式时,无meta时正常,有meta时浏览器解析到meta标签会回头重现按UTF-8方式解码,所以GBK,meta在前或后,无论IE还是FF都是乱码。再看UTF-8(no BOM)的页面,无meta时FF用GBK方式解码下去,最终显示乱码,IE则解码出错,形成空白页。有meta时,Firefox找到meta后回头重新按UTF-8方式解码,所以无论meta在前或在后都是正常;IE则是在meta在前时能够和Firefox一样回头重新解码,当meta在后时,又是解析到title出错,返回空白页。所以有必要将<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />写在title前面

Honesty

Title: Billy Joel - Honesty lyricsArtist: Billy JoelIf you search for tenderness it isn't hard to find. You can have the love you need to live. But if you look for truthfulness You might just as well be blind. It always seems to be so hard to give. Honesty is such a lonely word. Everyone is so untrue. Honesty is hardly ever heard. And mostly what I need from you. I can always find someone to say they sympathize. If I wear my heart out on my sleeve. But I don't want some pretty face to tell me pretty lies. All I want is someone to believe. Honesty is such a lonely word. Everyone is so untrue. Honesty is hardly ever heard. And mostly what I need from you. I can find a lover. I can find a friend. I can have security until the bitter end. Anyone can comfort me with promises again. I know, I know. When I'm deep inside of me don't be too concerned. I won't as for nothin' while I'm gone. But when I want sincerity tell me where else can I turn. Because you're the one I depend upon. Honesty is such a lonely word. Everyone is so untrue. Honesty is hardly ever heard. And mostly what I need from you.

足迹

曾经留下过足迹的省份,总结一下似乎也不少,发现中原地方是个空白。