• 注册
热门标签
↑ 收起导航

UTF-8版ASP程序传递奇数个汉字时编码错误

今天用IE测试一个utf-8的系统的搜索功能时,发现一个编码的问题,很有趣,还好以前碰到过类似的问题,今天顺利解决。

事件:当输入奇数个关键词,并切换搜索栏目时,通过IE传递过去的关键词的最后一个汉字会消失,这是典型的编码问题!UTF-8中用3个字节表示一个汉字,而普通的GB2312或BIG5是个,并且只有IE浏览器才会出现把UTF-8当作两个字节解析,导致IE无法正常完整的传递关键字,因此解决办法不难。

1、在网页文件的<head></head>标签中一定要把字符定义

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

放在<title></title>之前。

2、将通过URL参数传递的汉字,特别是奇数个汉字,加上server.URLEncode()

比如:<a href="?&key="&server.URLEncode(key)&

声明一下:GBK程序不会出现这种问题。

以前做诺豆搜索 http://yangjunwei.com/s/  时,就出现了在不同编码的浏览器间传递汉字时的编码解决问题,那是首次碰到,弄个JS转换编码的文件就花了好多天!

版权声明:转载请注明来自杨俊伟博客,本文地址:http://yangjunwei.com/a/352.html
除非注明,杨俊伟博客文章均为原创,转载请注明出处和链接!
 

11 条评论 »

  • 三七八蛋
    2009/11/11 20:52:53

    把每一个页面的编码都加上,是个很好的方法。

    nuodou 于 2009-11-12 14:54:09 回复

    有时需要url传递,这是比较麻烦的

  • 天缘博客
    2009/11/11 18:27:09

    呵呵,我也遇到多次了, 每一次都要整半天才能搞定。

    nuodou 于 2009-11-12 14:54:36 回复

    深有体会

  • 男儿国博客
    2009/11/11 10:58:47

    对你们这种代码牛人,我只有佩服的份了

    nuodou 于 2009-11-12 14:55:31 回复

    个中感触只有自己体会了。。。

  • 小农夫
    2009/11/11 08:38:05

    博主是自己编写的源码还是什么程序呀

    nuodou 于 2009-11-11 9:11:13 回复

    你说的是我测试的搜索功能吗?
    http://www.nuodou.com/s

  • 菲萨塔
    2009/11/10 16:50:59

    我也来晚了,把小板凳放在地板上自己站在小板凳上看你的文章了!!!!

    nuodou 于 2009-11-10 20:58:35 回复

    真幽默!

  • 網賺誌
    2009/11/10 14:11:35

    都是找在线JS转换

  • 90后的贼
    2009/11/10 14:00:33

    我的博客也出现过类似问题,不过还是很喜欢zblog的

  • 翔子
    2009/11/08 11:59:20

    来晚了 ~ 做地板上看

    nuodou 于 2009-11-8 12:00:04 回复

    抱歉,没地板了,不过还好有报纸,不用到下水道了

  • 卢松松
    2009/11/07 18:19:01

    你都研究到这个份了上了啊

    nuodou 于 2009-11-7 20:54:00 回复

    呵呵,自己用的时候碰到这种麻烦了,记录一下,也许有人用得上

  • 我想想
    2009/11/06 19:43:42

    UTF真的会有许多问题,最主要的是乱码

    nuodou 于 2009-11-6 21:27:31 回复

    是啊,不过UTF通用,特别是国外的空间

  • daniel
    2009/11/06 18:46:45

    呵呵,好久没来了,内容挺充实的嘛!
    utf-8是国际通用编码,用的时候当然要细心一点,不然出现乱码是很正常的事情。

    nuodou 于 2009-11-6 18:49:25 回复

    哈哈!也好久没见你更新了!今天来了,怎么把你的域名也写错了?自己看名字链接!www.cookoseo.com/
    算了,还是我给你改了吧哈哈

发表评论 



我还是想用邮箱注册

登录

忘记密码 ?

用第三方帐号快捷登录

已有账户?前往登录吧~

注册