2017-12-06 26 views
2

私はAsp.net Core 2.0 WebApiプロジェクトを持っていて、Get()メソッドにアクセスして、クライアントの目的のエラーを生成しようとしています。 私は消費者のクライアントへのHTTPエラーから情報を送信しています:asp.netコア2 webapi無効な文字

context.Result = new BadRequestResult(); 
context.HttpContext.Response.HttpContext.Features.Get<IHttpResponseFeature>().ReasonPhrase = "Não foi encontrado."; 

クライアントのreasonPhrase受け取り、それがアクセントに無効な文字がある場合:

"?N O FOI encontrado"

正しいは次のようになります。

"NAO FOI encontrado"

私はUTF-8のエンコードを設定する方法があると思いますが、それを行う方法を理解できません。手伝って頂けますか?

あなたが HttpContext.Response.ContentEncoding = Encoding.GetEncoding(「UTF-8」)

使用することができますが、私の知る限り、それはデフォルトのUTF-8である知っているように、再び、それは私が知っていると私

+2

クライアントのブラウザがUTF-8エンコーディングを正しくサポートしていますか?古いブラウザでは、UTF-8をあまりサポートしていない可能性があります。 –

+0

はい、彼らはサポートしています、私はクロムとFirefoxの最新バージョンを使用しています。ご協力ありがとうございました。 –

答えて

0

非常に間違っている可能性があります

+2

.netコアでこのパスが見つかりませんでした。 context.HttpContext.Response、 の後にContentEncodingが見つかりませんでした。私は何か間違っているのですか? ありがとうございます。 –

+0

編集中!私は開発環境にアクセスする必要はありませんが、私はこれがうまくいくと思います – BlindSniper