我需要从 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 进行测试。
关于c# - 从查询字符串中提取中文文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3101823/