Использование нелатинских символов в Suave
Я хочу использовать нелатинские символы в Suave, например, кириллицу, но получаю странный результат
MCVE
open Suave
open Suave.Filters
open Suave.Operators
open Suave.Successful
let app =
choose [
GET >=> OK "Привет, Мир!"
]
startWebServer defaultConfig app
Результат
Итак, вопрос - как это исправить?
2 ответа
Для текстовых ответов вам нужно установить кодировку типа шахты: >=> setMimeType "text/plain; charset=utf-8"
Установите заголовок Content-Type для данного типа MIME. Помните, что он должен включать кодировку вашего контента. Так, например, указав значение mimeType для application / json; Настоятельно рекомендуется использовать charset = utf-8 '(но замените' json 'на ваш собственный тип MIME, конечно;))
Это похоже на то, что UTF-8 интерпретируется как Latin-1. Попробуйте добавить >=> setMimeType "text/html; charset=utf-8"
в вашем приложении и посмотрите, заставляет ли браузер рассматривать ваш UTF-8 как фактический UTF-8 вместо того, чтобы по умолчанию использовать неправильный Latin-1.