如何从类似于 ASP.NET MVC 的 ASP.NET Core 6 中的 http 请求 header 获取 unicode 字符串?

How to get unicode string from http request header in ASP.NET Core 6 similar to ASP.NET MVC?

我在 ASP.NET MVC 和 ASP.NET Core 6 项目中有两个相似的控制器,它们都 运行 通过 IIS。当我请求第一个时,包含 unicode 字符的自定义 http 请求 header 被正确解析:

当我请求第二个时,我得到的不是 unicode 字符,而是问号(65533-符号):

如何在第二种情况下获得与第一种情况相同的结果?

更新

在查阅了官方文档后,很遗憾的告诉大家,不支持在Http Header中直接添加保加利亚语。 (我google了一下,发现可能是保加利亚语)

你可以check the not supported language in Endoding first.

解决方法

您可以在发送 httprequest 之前使用 encodeURIComponent() 方法对 Пример 进行编码。


请使用System.Web.HttpUtility.UrlEncode方法对字符进行编码。

var desc22=HttpContext.Request.Headers["Description"];
string desc22_ncode1 = System.Web.HttpUtility.UrlEncode(text, System.Text.Encoding.UTF8);
return ...

相关Post

1. File format name downloads in foreign language not supported on Azure