我有有一个全球化的标签设置C#.NET Web项目:获得U + FFFD/65533,而不是从查询字符串特殊字符
<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="nb-no" uiCulture="no"/>
当这个URL Flash应用程序(你得到同样的问题,当你手动输入网址在浏览器中):c_product_search.aspx搜索=kjøkken(或者:??c_product_search-ASPX搜索= KJ%F8kken
都返回下列字符代码:
k U+006b 107
j U+006a 106
� U+fffd 65533
k U+006b 107
k U+006b 107
e U+0065 101
n U+006e 110
我对字符编码知之甚少,但似乎已经给出了一个Unicode替换字符,对吧?
我试图全球化标签更改为:
<globalization requestEncoding="iso-8859-1" responseEncoding="utf-8" culture="nb-no" uiCulture="no"/>
发出请求的工作。但是,现在,我的网页上的其他搜索停止工作。
我也尝试了类似的结果如下:
NameValueCollection qs = HttpUtility.ParseQueryString(Request.QueryString.ToString(), Encoding.GetEncoding("iso-8859-1"));
string search = (string)qs["search"];
我该怎么办?
亲切的问候,
nitech
好吧。在flash中有一个叫做escape的函数。我已经尝试过这一点,这没有什么区别。 另外,如果我只是手动将URL写入地址字段,我会遇到同样的问题。 – nitech 2009-04-30 09:57:56
我们在我们的网站上做的是,根据客户的语言,我们有专门的ISO编码请求和响应。因为许多客户不了解UTF-16。这也是一种可能性。 – cRichter 2009-04-30 13:26:55