Server.Encode /解码在生产服务器无法正常工作
问题描述:
我通过vb.net查询字符串到一个页面,根据不同的参数,就可以了西班牙字符,至极的作品完美的开发和测试服务器上,而不是在生产。Server.Encode /解码在生产服务器无法正常工作
因此,查询字符串里面我编码的名字是这样的:
Server.UrlEncode(name)
甚至以前被加载时,服务器将引发“500 Internal Server Error
” 这个网址:
http://website/Dir/Page.aspx?num=CEJMEJINMFCEGICCEH&name=Jose+Bonse%c3%b1or+Del+Rosario
当我替换%c3%b1
为任何其他正常的字母,它的工作原理(%c3%b1
是一个“ñ”)
再次,它在其他服务器上工作得很好,除了生产,我甚至不知道从哪里开始寻找..
答
HttpServerUtility
类(其中“服务器”是页面基类中的一个实例)默认使用ASCII解码和编码URL参数。当然,ASCII并不足以处理其他本地化。要强制统一,请尝试使用HttpUtility
类,而不是UrlEncodeUnicode
功能...
HttpUtility.UrlEncodeUnicode(name)
答
有一些流行想到两两件事,虽然我不能说,我实际测试无论是在这种特殊情况下(请求字符串编码)。
首先,你的页面是如何编码的?也就是说,你是否指出使用的字符集?
二,如何配置服务器电脑re:本地化?我会比较三台计算机上控制面板中的“区域和语言选项”。
最后(好,那是三)Web.Config中有本地化选项。像往常一样,CodeProject有关于这个主题的great article。
祝你好运!
*有人*喜欢CounterStrike ... – 2009-12-14 18:08:16
哈哈是啊,我曾经玩。还没有一段时间。顺便说一下,在Reflector中查看Server.UrlEncode后,我完全改变了我的答案。 – 2009-12-14 18:09:51