He escrito un documento de rebaja noruego:
$ file brukerveiledning.md
brukerveiledning.md: UTF-8 Unicode text
Lo he convertido a HTML usando el markdown
comando:
$ markdown > brukerveiledning.html < brukerveiledning.md
$ file brukerveiledning.html
brukerveiledning.html: UTF-8 Unicode text
Sin embargo, Firefox insiste en usar la codificación "windows-1252", rompiendo los caracteres no ASCII. Intenté configurar el cambio de la codificación de texto alternativo de "Predeterminado para la configuración regional actual" (que aquí en el Reino Unido debería ser ISO-8859-1 o UTF-8) a "Centroeuropeo, ISO", "Centroeuropeo, Microsoft "y" Otro (incl. Europa occidental) ". Ninguno de estos puede mostrar æ, ø y å. No hay opciones de Unicode. También he intentado cambiar intl.fallbackCharsetList.ISO-8859-1
en about: config para diversos valores como utf8
, utf-8
, iso-8859-1
, sin suerte.
Usando este markdown
paquete:
$ pacman --query --owns "$(which markdown)"
/usr/bin/markdown is owned by markdown 1.0.1-6
y este local:
$ 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=
Me intentó pedir una solución en el markdown
nivel de comando, pero que fue rechazada.
åæâéè
y lo abrí en firefox. La producción fue de basura:åæâéè
. Sin embargo, si agrego<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
a la parte superior, sale correctamente. No estoy seguro de cómo haría esto para un archivo .md.Respuestas:
Actualización: esto se ha solucionado desde Firefox 66
https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/66#HTML
Información histórica de 2016
El razonamiento detrás de este comportamiento parece estar descrito en los errores de Mozilla 815551 (Autodetect UTF-8 de forma predeterminada) y 1071816 (Admite cargar archivos de texto / sin formato UTF-8 BOMless desde el archivo: URL)
Según tengo entendido, básicamente se reduce a " uno siempre debe especificar la codificación ya que la detección es demasiado poco confiable ".
charset
en elContent-Type
encabezado<meta charset="utf-8" />
Los desarrolladores de Mozilla parecen estar abiertos para un parche que agrega una configuración de preferencias, por lo que un día podría ser posible abrir documentos UTF-8 locales sin BOM en Firefox.
fuente
La configuración de la codificación alternativa a UTF-8 en Firefox se ha bloqueado deliberadamente; consulte bugzilla.mozilla.org/show_bug.cgi?id=967981#c4.
Dos formas de evitar esto que he estado viendo son:
1] Aplique algunos parches triviales a la fuente y cree Firefox usted mismo para agregar una opción Unicode [UTF-8] a Preferencias | Contenido | Fuentes y colores | Avanzado | Menú desplegable "Codificación de texto de reserva".
2] Ejecute un servidor httpd local [Apache] y configure un servidor virtual basado en nombres
utfx
para los archivos codificados utf-8 en el directorio/my/utf-8/files
. Luego se puede generar un encabezado http utrs-8 charset, que Firefox reconocerá y mostrará el archivo como codificado en UTF-8. ¡Por supuesto, la codificación real del archivo debe ser UTF-8!a) /etc/httpd/httpd.conf - agregue:
(Re) inicie el servidor -
apachectl restart
oapachectl graceful
.b) / etc / hosts: agregue el nombre de dominio para acceder a los archivos codificados utf-8:
La información del tipo de contenido que envía el servidor se puede verificar con wget -S <URL>:
para los tres tipos de archivo (testæø, test.txt, test.html).
La salida debe ser:
c) about: config - add New | Boolean:
luego ingrese
utfx
en la barra de direcciones de Firefox para obtener la lista de archivos ...fuente
Como he comentado en su pregunta, estaba luchando por obtener lo mismo con el fin de mostrar correctamente html parcial (se conoce la codificación pero no hay una metaetiqueta para codificar) de Mutt en Firefox a través de Mailcap.
Al final, descubrí un comando que funciona y que también puede ayudarte:
uconv --add-signature -f %{charset} -t UTF-8 %s | sponge %s && firefox -new-tab %s & sleep 5
Descubrí que cuando su archivo codificado UTF-8 contiene BOM, Firefox asume que es UTF-8. Así que he usado el
uconv
comando para agregar la firma BOM. Suponga que%{charset}
es el juego de caracteres de entrada y%s
es el nombre de archivo. Lasponge
herramienta (delmoreutils
paquete) ayuda a cambiar el archivo in situ ysleep
es solo para que Mutt no elimine el archivo antes de que Firefox termine de cargarlo.No he encontrado ninguna otra opción para establecer una codificación alternativa en Firefox.
fuente
Si configurar el respaldo para solo archivos sin conexión, en UTF-8, es suficiente para usted, puede ir a
about:config
y establecer el valor deintl.charset.fallback.utf8_for_file
atrue
.( fuente )
fuente
Una solución simple es producir un archivo HTML completo con una declaración de codificación :
Acortado (menos explícito y produce advertencias):
fuente