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) 
+0

*有人*喜欢CounterStrike ... – 2009-12-14 18:08:16

+0

哈哈是啊,我曾经玩。还没有一段时间。顺便说一下,在Reflector中查看Server.UrlEncode后,我完全改变了我的答案。 – 2009-12-14 18:09:51

有一些流行想到两两件事,虽然我不能说,我实际测试无论是在这种特殊情况下(请求字符串编码)。

首先,你的页面是如何编码的?也就是说,你是否指出使用的字符集?

二,如何配置服务器电脑re:本地化?我会比较三台计算机上控制面板中的“区域和语言选项”。

最后(好,那是三)Web.Config中有本地化选项。像往常一样,CodeProject有关于这个主题的great article

祝你好运!