我需要从ASP.NET Web应用程序中的查询字符串中提取中文字符。 当我尝试它时,我得到“????”而不是实际的文字。我知道我需要用UTF-8解码它,但它不起作用。我用过:
String text = System.Web.HttpUtility.UrlDecode(Request.QueryString["text"], System.Text.Encoding.UTF8);
但我得到“???”从操作中回来。
请帮忙。
答案 0 :(得分:4)
有两种情况。
第一个案例,其中您的网址是真实的中文,获得它的唯一功能是 Request.RawUrl (而不是Request.QueryString [“text”] )从 Request.RawUrl ,您需要手动从text =ελληνικασανκινεζικα获取中文文本。
第二种情况您首先在发送之前对您的网址字符串进行编码。在这种情况下,我使用的代码是
String text = Server.UrlDecode(Request.QueryString["text"]);
希望得到这个帮助。
注意:如果您尝试使用Google Chrome进行测试,那么您在网址上输入的内容会被浏览器自动编码/解码,而您却看不到实际发送的内容。尝试使用ie,进行测试。