从查询字符串中提取中文文本
我需要从 ASP.NET Web 应用程序中的查询字符串中提取中文字符。 当我尝试时,我得到“???”而不是实际的文本。我知道我需要用 UTF-8 对其进行解码,但它不起作用。我用过:
String text = System.Web.HttpUtility.UrlDecode(Request.QueryString["text"], System.Text.Encoding.UTF8);
但我得到“???”从手术中回来。
请帮忙。
I need to extract Chinese characters from the query string in an ASP.NET web application.
When I tried it, I get "????" instead of the actual text. I know I need to decode it with UTF-8 but its does not work. I have used:
String text = System.Web.HttpUtility.UrlDecode(Request.QueryString["text"], System.Text.Encoding.UTF8);
but I get "???" back from the operation.
Please help.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
有两种情况。
第一种情况,如果您的 URL 是真实的中文,则获取它的唯一函数是 Request.RawUrl (而不是 Request.QueryString["text"])来自 < strong>Request.RawUrl 您需要从 text=ελληνικασανκινεζικα 手动获取中文文本。
第二种情况,您在发送 URL 字符串之前首先对其进行编码。在这种情况下,我使用的代码是
希望有帮助。
注意:如果您尝试使用 Google Chrome 进行测试,那么您在 url chrome 上输入的内容将由浏览器自动编码/解码,并且您看不到实际发送的内容。尝试使用 ie 进行测试。
There are two cases.
1st Case where your URL is real in chinese, the only function that get it is the Request.RawUrl (and not the Request.QueryString["text"]) From Request.RawUrl you need manually get your Chinese text from text=ελληνικασανκινεζικα.
2nd Case where you have first Encode your URL string before you send it. In this case the code I use is
Hope this help.
Note: If you try to make test with Google Chrome, then what you type on url chrome is encode/decode automatically by browser and you are not see what actual you send. Try to use ie, for make your test.