Я написал норвежский документ по уценке:
$ file brukerveiledning.md
brukerveiledning.md: UTF-8 Unicode text
Я преобразовал его в HTML с помощью markdown
команды:
$ markdown > brukerveiledning.html < brukerveiledning.md
$ file brukerveiledning.html
brukerveiledning.html: UTF-8 Unicode text
Тем не менее, Firefox настаивает на использовании кодировки «windows-1252», ломая не-ASCII символы. Я попытался установить замену резервной кодировки текста с «По умолчанию для текущей локали» (которая здесь в Великобритании должна быть либо ISO-8859-1 или UTF-8) на «Центрально-европейская, ISO», «Центрально-европейская, Microsoft "и" Другое (в т.ч. западноевропейское) ". Ни один из них не может отображать æ, ø и å. Там нет вариантов Unicode. Я также попытался изменить intl.fallbackCharsetList.ISO-8859-1
в о: конфигурации в различные ценности , как utf8
, utf-8
, iso-8859-1
, не повезло.
Используя этот markdown
пакет:
$ pacman --query --owns "$(which markdown)"
/usr/bin/markdown is owned by markdown 1.0.1-6
и этот язык:
$ locale
LANG=en_GB.utf8
LC_CTYPE="en_GB.utf8"
LC_NUMERIC="en_GB.utf8"
LC_TIME="en_GB.utf8"
LC_COLLATE="en_GB.utf8"
LC_MONETARY="en_GB.utf8"
LC_MESSAGES="en_GB.utf8"
LC_PAPER="en_GB.utf8"
LC_NAME="en_GB.utf8"
LC_ADDRESS="en_GB.utf8"
LC_TELEPHONE="en_GB.utf8"
LC_MEASUREMENT="en_GB.utf8"
LC_IDENTIFICATION="en_GB.utf8"
LC_ALL=
Я пытался найти решение на markdown
командном уровне, но это было отклонено.
åæâéè
и открыл его в Firefox. Выход был мусорåæâéè
. Однако, если я добавлю<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
к вершине, это выводит должным образом. Не уверен, как бы вы сделали это для файла .md.Ответы:
Обновление: это было исправлено начиная с Firefox 66
https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/66#HTML
Историческая справка с 2016 года
Причина такого поведения, по-видимому, описана в ошибках Mozilla 815551 (по умолчанию Autodetect UTF-8) и 1071816 (поддержка загрузки текстовых / простых файлов BOMless UTF-8 из файла: URL-адреса)
Насколько я понимаю, это сводится к тому, что « всегда следует указывать кодировку, поскольку обнаружение слишком ненадежно ».
charset
вContent-Type
заголовке<meta charset="utf-8" />
Разработчики Mozilla, похоже, открыты для патча, который добавляет настройку предпочтений, поэтому однажды можно будет открыть локальные документы без спецификации UTF-8 в Firefox.
источник
Настройка резервной кодировки UTF-8 в Firefox была намеренно заблокирована - см. Bugzilla.mozilla.org/show_bug.cgi?id=967981#c4.
Два способа обойти это, на которые я смотрел:
1] Примените некоторые тривиальные исправления к исходному тексту и соберите Firefox самостоятельно, чтобы добавить опцию Unicode [UTF-8] в раскрывающееся меню «Настройки»> «Содержимое», «Шрифты и цвета», «Дополнительно», «Кодировка отступающего текста».
2] Запустите локальный http-сервер [Apache] и настройте виртуальный сервер
utfx
на основе имени для кодированных файлов utf-8 в каталоге/my/utf-8/files
. Затем может быть сгенерирован http-заголовок кодировки utf-8, который Firefox распознает и отобразит файл в кодировке UTF-8. Конечно, фактическая кодировка файла должна быть UTF-8!а) /etc/httpd/httpd.conf - добавить:
(Пере) запустить сервер -
apachectl restart
илиapachectl graceful
.б) / etc / hosts - добавить имя домена для доступа к файлам в кодировке utf-8:
Информация о типе контента, отправляемая сервером, может быть проверена с помощью wget -S <URL>:
для трех типов файлов (testæø, test.txt, test.html).
Выход должен быть:
в) about: config - добавить New | Boolean:
затем просто войдите
utfx
в адресную строку Firefox, чтобы получить список файлов ..источник
Как я прокомментировал в вашем вопросе, я изо всех сил пытался получить то же самое с целью правильного отображения частичного HTML (кодировка известна, но нет метатега для кодирования) из Mutt в Firefox через Mailcap.
В конце я выяснил, какая команда работает, и которая может вам тоже помочь:
uconv --add-signature -f %{charset} -t UTF-8 %s | sponge %s && firefox -new-tab %s & sleep 5
Я обнаружил, что когда ваш файл в кодировке UTF-8 содержит спецификацию, Firefox предполагает, что это UTF-8. Поэтому я использовал
uconv
команду для добавления подписи спецификации. Предположим, что%{charset}
это входная кодировка и%s
имя файла.sponge
Инструмент (изmoreutils
пакета) , помогает изменить файловую InPlace иsleep
просто так , что Mutt не удаляет файл перед Firefox завершает загрузку его.Я не нашел никакой другой опции для установки резервной кодировки в Firefox.
источник
Если установка запасного варианта только для автономных файлов, в UTF-8, достаточно для вас, то вы можете пойти
about:config
и задать значениеintl.charset.fallback.utf8_for_file
дляtrue
.( источник )
источник
Простой обходной путь - создать полный HTML-файл с объявлением кодировки :
Сокращенный (менее явный и выдающий предупреждения):
источник