从查询字符串中提取中文文本

时间:2010-06-23 13:04:38

标签: c# asp.net encoding cjk

我需要从ASP.NET Web应用程序中的查询字符串中提取中文字符。 当我尝试它时,我得到“????”而不是实际的文字。我知道我需要用UTF-8解码它,但它不起作用。我用过:

String text = System.Web.HttpUtility.UrlDecode(Request.QueryString["text"], System.Text.Encoding.UTF8);

但我得到“???”从操作中回来。

请帮忙。

1 个答案:

答案 0 :(得分:4)

有两种情况。

第一个案例,其中您的网址是真实的中文,获得它的唯一功能是 Request.RawUrl (而不是Request.QueryString [“text”] )从 Request.RawUrl ,您需要手动从text =ελληνικασανκινεζικα获取中文文本。

第二种情况您首先在发送之前对您的网址字符串进行编码。在这种情况下,我使用的代码是

String text = Server.UrlDecode(Request.QueryString["text"]);

希望得到这个帮助。

注意:如果您尝试使用Google Chrome进行测试,那么您在网址上输入的内容会被浏览器自动编码/解码,而您却看不到实际发送的内容。尝试使用ie,进行测试。