解决IE 7.0不能显示PNG图片的问题

最近也不知道装了什么软件,IE 7.0突然就不能显示任何的PNG图片了,全都是个红叉,连IE自己的错误页面也全是叉,实在是惨不忍睹。在网上找了半天,找到几个类似的情况,有人说是QuickTime改写了注册表,有人说什么png的一个pngfilt.dll被破坏了(谁吃饱了破坏这个dll?),解决方法是重新导入注册表并且重新注册那个dll。结果我一看注册表,果然QuickTime似乎破坏了它,因为和png相关的默认的地方都有了QuickTime的影子。但是导入正确的注册表也不行,重新注册那个dll也不行。又反复比较和导入了别人好的IE 7.0的机器上的注册表,也不行。网上下载的那个png相关的dll文件其实是IE 6.0用的,所以也不能用。甚至重装了IE都不行。

今天誓要搞定这个问题,于是用regmon一条一条看,看看IE在访问一个png图片的时候到底干了什么。微软确实是充分利用了注册表,为了访问一个png图片,IE居然就对注册表操作了两千六百多次。果然,这些记录里面既没有找到 pngfilt.dll,也没有找到它的CID,但还是没啥头绪。突然发现,IE似乎枚举了一堆MIME的类型,其中居然有个类似“ ????µ/x-m4v ”的奇怪类型。去注册表一看,果然有三个x-m4v,第一个就是那个乱码,第二个是“video/x-m4v”,第三个是“视频/x-m4v”,看来第一个应该是“视频”没搞好弄出来的(因为“视频”这两个字的GB2312码到ASCII中会变成 ÊÓƵ)。这个乱码的破玩意儿看着就不顺眼,删之。没想到,IE居然从此就可以显示PNG了!!

从来没想过MIME类型居然可以注册成中文的,因为其中有编码的问题,估计那个“视频/x-m4v”和乱码可能是什么国产播放器的杰作。而IE也是莫名其妙,怎么会多出个乱码类型PNG就挂了呢?为啥其他的MIME类型可以显示?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值