首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HttpStatusCodeResult报文编码

HttpStatusCodeResult报文编码
EN

Stack Overflow用户
提问于 2019-01-25 14:31:09
回答 1查看 1.4K关注 0票数 3

我需要返回一个带有描述的HttpStatusCodeResult对象,其中包含特殊的(对话)字符。我不知道如何设置正确的编码。

代码语言:javascript
复制
return new HttpStatusCodeResult(HttpStatusCode.BadRequest, "Zażółć gęsią jaźń.");

应返回:

Zażółćgęsiąjaźń.

但我明白:

Zaórógêsi 1

我试着用Response.Charset = System.Text.Encoding.UTF8.WebName;等,但还是什么也没有。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-26 20:12:50

你不应该得到“Zaó状语”。任何地方。

但你不能得到"Zażółćgęsiąjaźń“。在HTTP行原因短语中,因为它只支持ASCII字符集和编码[RFC 7230]。(HTTP标头字段确实有%-编码等机制,但没有状态行。)

因此,您可以将原因短语去掉,并将信息放在正文中:

代码语言:javascript
复制
Response.StatusCode = (Int32)HttpStatusCode.BadRequest;
return Content("Zażółć gęsią jaźń. And, the quick brown fox jumps over the lazy dog. ");

使用您想要的任何内容,包括HTML。但是,如果不长看起来是有用的和现代的,那么接收它的web浏览器可能会覆盖内容。您还应该考虑是否将web服务器配置为替换错误页。这可能有助于:

代码语言:javascript
复制
<configuration>
  <system.webServer>
    <httpErrors existingResponse="PassThrough" />
  </system.webServer>
</configuration>
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54367303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档