在asp页面中,如何让gb2312编码的页面接收utf-8编码的变量而不乱码(出错),百思不得其解
找了很多资料均无法解决,希望路过的高手们、热心的好人们帮个忙,不胜感激。具体问题如下:product.asp?bigclassname=%B5%E7%D7%D3%B5%D...
找了很多资料均无法解决,希望路过的高手们、热心的好人们帮个忙,不胜感激。具体问题如下:product.asp?bigclassname=%B5%E7%D7%D3%B5%D8%B0%F5 中的%B5%E7%D7%D3%B5%D8%B0%F5 是"电子地磅"的gb2312编码,所以能正常显示(能正常查询出access数据库的产品)。但是Product.asp?BigClassName=%E7%94%B5%E5%AD%90%E5%9C%B0%E7%A3%85 中的%E7%94%B5%E5%AD%90%E5%9C%B0%E7%A3%85是"电子地磅"的urf-8编码,因为是页面gb2312编码,所以查询数据库(access)的变量成了"鐢靛瓙鍦扮" 从而导致数据库查询不到相应数据(产品),导致出现错误。所以因为该asp页面的整站编码是gb2312编码,所以希望路过的高手和热心的好人能给个适用于asp页面的代码 主要功能是检查下传过来的参数的编码,然后自动将传递过来的编码为utf-8的变量(参数)转换成gb2312编码 这样就不会让gb2312页面不会因为传递过来的编码是utf-8的变量(参数)而使页面乱码或者出现错误(数据库中无法查询到该产品)。还是要对access数据库进行设置使本站支持utf-8变量的查询?希望路过的高手们、热心的好人们帮个忙,不胜感激。
展开
4个回答
展开全部
如果实在不行,可以这样处理
做一个utf-8编码格式的页面,用来查询相关的内容
我有一个网站,就是不能获取utf-8格式的用户登录名,所以全站改成了utf-8编码的了.
asp好像没有更好的办法,只能这样子了.
将gb2312改成utf-8格式可能这样做
用记事本打开.asp文件,再把里面的gb2312修改成utf-8,然后选择另存为,另存为的编码一定要选成utf-8格式的,这样才能真正改成utf-8格式的页面
做一个utf-8编码格式的页面,用来查询相关的内容
我有一个网站,就是不能获取utf-8格式的用户登录名,所以全站改成了utf-8编码的了.
asp好像没有更好的办法,只能这样子了.
将gb2312改成utf-8格式可能这样做
用记事本打开.asp文件,再把里面的gb2312修改成utf-8,然后选择另存为,另存为的编码一定要选成utf-8格式的,这样才能真正改成utf-8格式的页面
追问
我试过这个方法 ,用记事本打开product.asp文件,再把里面的gb2312修改成utf-8,然后选择另存为,另存为的编码要选成utf-8格式的,不过还是不能正常获取 (出现乱码),不过还是谢谢你了 - -
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
http://hi.baidu.com/wja513/blog/item/c27bee6ea23a17d080cb4ad3.html
希望这个文章可以帮助到你。
也可以到http://www.90hex.com/forumdisplay.php?fid=5或者CSDN的asp求助。
希望这个文章可以帮助到你。
也可以到http://www.90hex.com/forumdisplay.php?fid=5或者CSDN的asp求助。
追问
用了那个文章的函数 发现用BigClassName=utf2gb(BigClassName)可以将utf-8 成功转化成 gb2312编码 网站也能正常显示,高兴地以为成功了,但是出现新的问题:当BigClassName这个参数接收gb2312编码的时候 就出现了无法正常显示页码的问题。所以我急需一个可以判断变量 编码编码格式的函数 :主要需求是 当BigClassName接收到的是gb2312编码时不进行BigClassName=utf2gb(BigClassName) 否则进行utf2gb函数,急盼回复,非常感谢您
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用记事本打开接收页面。另存为 utf-8格式
追问
我试过这个方法 ,用记事本打开product.asp文件,再把里面的gb2312修改成utf-8,然后选择另存为,另存为的编码要选成utf-8格式的,不过还是不能正常获取 (出现乱码),不过还是谢谢你了 - -
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
str = new String(orig.getBytes("gb2312"),"utf-8")
更多追问追答
追问
大哥,请问这句要这么用啊?放在程序的那个地方?能否麻烦您给个例子 让我参照下,本人比较笨 越详细越好 不甚感激。
追答
在后台把你的BigClassName处理一下,BigClassName = new String(BigClassName.getBytes("gb2312"),"utf-8")
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询