2017-06-15 3 views
2
に非ラテン文字の

を使用してキリル文字が、奇妙な結果を得ることが、私は例えば、<a href="https://suave.io" rel="nofollow noreferrer">Suave</a>に非ラテン記号を使用したいサーブ

MCVE

open Suave 
open Suave.Filters 
open Suave.Operators 
open Suave.Successful 

let app = 
    choose [ 
     GET >=> OK "Привет, Мир!" 
    ] 

startWebServer defaultConfig app 

結果

enter image description here

ですから、Qはどのように修正するのですか?あなたは私のタイプのエンコーディングを設定する必要がテキストの場合

答えて

8

しか応答:>=> setMimeType "text/plain; charset=utf-8"

指定されたMIMEタイプにContent-Typeヘッダを設定します。コンテンツのエンコーディングが含まれていることを覚えておいてください。たとえば、mimeTypeの値を 'application/json; (ただし、 'json'を独自のMIMEタイプに置き換えてください))

+3

私にそれを打ち負かす:速くて正しいために+1してください。 :-) – rmunn

+0

ありがとう、それは私の最初のQの前に思ったが、 'utf-8'ではなく' 1251'にエンコードを設定したので、うまくいきません。 'utf-8'エンコーディングはデフォルトでは設定されていませんか? –

+0

@FoggyFinder - あなたが提出したコードには、 "Привет、Мир!"がUTF-8エンコーディングで書かれているので、Content-Typeと言うべきです。なぜ1251を使ったのですか? – rmunn

4

これは、UTF-8がLatin-1と解釈されているようです。あなたのアプリに>=> setMimeType "text/html; charset=utf-8"を追加して、ブラウザが不正なLatin-1にデフォルト設定するのではなく、UTF-8を実際のUTF-8として扱うかどうか確認してください。

関連する問題

 関連する問題