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