正在加载...

按 ‘ 2008年11月 ’ 归档

UTF-8在IE中不能自动选择编码的解决办法

在windows操作系统上使用IE作为浏览器时。常常会发生这样的问题:在浏览使用UTF-8编码的网页时,浏览器无法自动侦测(即没有设定“自动选择”编码格式时)该页面所用的编码。即使网页已经声明过编码格式:,由此造成某些含有中文UTF-8编码的页面产生空白输出。

如果使用的是Mozilla、Mozilla Firefox、Sarafi的浏览器这不会造成这个问题。这是由于IE解析网页编码时以HTML内的标签优先,而后才是HTTP header内的讯息;而mozilla系列的浏览器则刚刚相反。

由于UTF-8为3个字节表示一个汉字,而普通的GB2312或BIG5是两个。页面输出时,由于上述原因,使浏览器解析、输出前有奇数个全角字符时,IE把UTF-8当作两个字节解析时出现半个汉字的情况,这时该半个汉字会和的<结合成一个乱码字,导致IE无法读完部分,使整个页面为空百输出。而这个时候如果察看源文件的话,会发现实际上整个叶面全部已经输出了。</p> <p>因此最简单的解决办法是在网页文件的<head></head>标签中一定要把字符定义<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />放在<title>之前。

终于明白了Blogger里不能使用Lightbox的原因了

其实原因很简单,并不是代码的事,也不是Blogger不支持,而是外链相册的问题。

刚刚试了一下Flickr,刚开始发现也不行,只出来Lightbox的效果而没有图像,于是把a href后面改成大图,img src后面改成小图,然后刷新竟然成功了。原来如此,只要指向的是图像就可以了吧,所以Flickr是不能用了,因为它要求必须链接回原来的页面,所以放弃这个相册。

赶快回到Blogger上传的Picasa来,发现两个位置都是图像啊,哪里出问题了呢?

把大图点开,也没什么别的啊,等一下,原来IE的标签上有个Picasa图标,如果只是个图像的话,没这么高级吧,赶快查看源文件,哈哈,漏出来了吧,明明就是个html,引用了一个图像,这个图像就是我们要的,粘贴到a href后面,刷新页面,奇怪的事又发生了,点小图以后出来一个下载框,不会吧,这下没办法了。

按照前面所说的,用Picasa实现Lightbox感觉不太现实了(如果是自己手工上传,不从Blogger里上传的话呢?还没试过),只能用别的相册来实现,Flickr是一个很好的选择,如果你不怕违反规定的话(其实Wordpress里的Flickr插件实现的Lightbox效果就是违反规定的,害的我有一阵子Flickr相册都显示不出来了。),另外从国内找一个别的相册也是个选择吧,反正Picasa暂时没什么办法了。

更改模板的痛苦

blogger的模板自由度的确是太大了,每一次更换模板的时候都需要把以前做的一些hack移植过来,而且还可能出现不兼容的情况,这不,现在下面分页显示页数的hack又不能加进来了,以前都不知道怎么加上的,真是头大啊。

另外,这个新模板做了css和js优化,可就算是这样,现在的模板还是要比原来的大一点点,原因主要是在背景图上了,自己是在是很喜欢苹果,可能是因为没有的关系吧,自己觉得这个很舒服了,呵呵。
优化js的时候发现了一点问题,就是SyntaxHighlighter在使用p.a.c.k.e.r压缩的时候生成的文件竟然被小红伞给kill掉了(用了加密出来的结果),实在是郁闷,只好作罢了。

ps.以后说什么也不搞模板了,是在是太累了,一个模板往往要折腾两天左右的时间,才能修改的满意。现在我觉得blogger的唯一缺点就是为什么后台编辑器不能自己定制呢,呵呵,如果是这样的话,那么blogger又掀起新的blog龙卷风了。

另外发现的一个问题就是p.a.c.k.e.r过的文件在blogger里好像不能很好的运行,有希望找到以前为什么不能安装lightbox的问题了,先高兴一下,看看能不能解决。