Как установить кодировку символов в файле yaml

Мы работаем с простым бэкэнд для новой системы Rails 2.2 i18n, и я хотел знать правильный синтаксис для настройки кодировки в файле yaml.

Другими словами, что такое yaml для этого xml:

<?xml encoding="UTF-8" ?>

Ответы

Ответ 1

Вы не можете определить кодировку в YAML. Но в этом также нет необходимости, поскольку кодирование выполняется на уровне файлов и является прозрачным для YAML и его синтаксического анализа. При написании документа YAML это все, что вам нужно запомнить.

На уровне файлов YAML 1.1 поддерживает UTF-8 и UTF-16, но не UTF-32. Полная информация о спецификации 1.1:

Все символы [...] являются кодовыми точками Unicode. Каждая такая кодовая точка записывается в виде одного или нескольких октетов в зависимости от используемой кодировки символов. Обратите внимание, что в UTF-16 символы выше #xFFFF записываются в виде четырех октетов с использованием суррогатной пары. Процессор YAML должен поддерживать кодировки символов UTF-16 и UTF-8. Если поток символов не начинается с метки порядка байтов (#FEFF), кодировка символов должна быть UTF-8. В противном случае это должен быть либо UTF-8, UTF-16 LE или UTF-16 BE, как обозначено меткой порядка байтов. При выводе рекомендуется, чтобы метка порядка следования байтов использовалась только для кодировки символов UTF-16. Обратите внимание, что кодировка UTF-32 явно не поддерживается.

Для YAML 1.2 также поддерживается UTF-32.