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

发布于 2024-09-06 09:58:50 字数 268 浏览 5 评论 0原文

我需要从 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

朕就是辣么酷 2024-09-13 09:58:51

有两种情况。

第一种情况,如果您的 URL 是真实的中文,则获取它的唯一函数是 Request.RawUrl (而不是 Request.QueryString["text"])来自 < strong>Request.RawUrl 您需要从 text=ελληνικασανκινεζικα 手动获取中文文本。

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

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

希望有帮助。

注意:如果您尝试使用 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

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

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文