如何使用C#编码和解码“中文”人物
在我的 ASP.NET MVC 应用程序中,我使用中文类别名称,在 IE 的 URL 地址中显示为 %E8%82%B2%E5%84%BF
,但实际值是“育儿” 。
我想知道如何在 C# 中将 '育儿' 转换为 %E8%82%B2%E5%84%BF
以及如何将其转换回来。是否可以直接在URL链接中显示“育儿”?这对 SEO 有好处吗?
In my ASP.NET MVC application i am using Chinese Category Name, it was displayed as %E8%82%B2%E5%84%BF
in IE's URL address, but the actual value is '育儿'.
I want to know how can I convert '育儿' into %E8%82%B2%E5%84%BF
in C# and how can I convert it back, too. Is it possible display '育儿' in the URL link directly? Will it be good for SEO?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
IE 地址栏中显示的文本是这些字符的十六进制版本的 URL 编码形式。以 UTF-8 编码的“育儿”的十六进制版本是 E882B2E584BF:
s 等于“育儿”。
您不应该在 URL 中传输直的中文字符,它应该使用 进行 URL 编码HttpServerUtility.UrlEncode 和 UrlDecode。
The text displayed in IE's address bar is the URL encoded form of the hex version of those characters. The hex version of '育儿' encoded in UTF-8 is E882B2E584BF:
s is equal to '育儿'.
You shouldn't transmit the straight chinese characters in the URL, it should be URL encoded using HttpServerUtility.UrlEncode and UrlDecode.
HttpUtility.UrlEncode 将对 URL 进行编码,并且 HttpUtility.UrlDecode 会将其更改回来。
例子:
HttpUtility.UrlEncode will encode a URL, and HttpUtility.UrlDecode will change it back.
Example:
您是否检查过以确保您使用的是 Unicode 编码(而不是默认编码)?默认编码不会处理中文字符。
Did you check to make sure that you are using the Unicode encoding (instead of the Default)? Default encoding will not handle Chinese characters.