Cómo configurar UTF-8 en FreeBSD 12

Cómo configurar y usar UTF-8 en FreeBSD 12

Algo que aún se echa de menos en el instalador del sistema es poder configurar idiomas con soporte UTF-8 en FreeBSD 12. Y lo curioso es que FreeBSD soporta perfectamente UTF-8 en una amplia variedad de idiomas. Pero para poder configurar y usar UTF-8 para idioma español (y el resto de idiomas) en FreeBSD 12 hay que hacerlo manualmente.

Seguramente más de una vez te has dado cuenta de que aunque caracteres como los corchetes y las llaves se corresponden con el idioma que has elegido en la instalación, sin embargo la ñ, vocales acentuadas, etc. no funcionan.

Si compruebas la configuración de la localización con el comando locale te darás cuenta de que no está activado el uso de UTF-8:

$ locale
LANG=
LC_CTYPE="C"
LC_COLLATE="C"
LC_TIME="C"
LC_NUMERIC="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_ALL=

Pero si miras las localizaciones disponibles con el parámetro -a comprobarás que son muchas:

$ locale -a
C
POSIX
af_ZA.ISO8859-1
af_ZA.ISO8859-15
af_ZA.UTF-8
am_ET.UTF-8
ar_AE.UTF-8

...

zh_CN.GBK
zh_CN.UTF-8
zh_CN.eucCN
zh_HK.UTF-8
zh_TW.Big5
zh_TW.UTF-8

Incluso hay variantes distintas del español:

$ locale -a |grep -i ^es
es_AR.ISO8859-1
es_AR.UTF-8
es_CR.UTF-8
es_ES.ISO8859-1
es_ES.ISO8859-15
es_ES.UTF-8
es_MX.ISO8859-1
es_MX.UTF-8

Visto que existe soporte de UTF-8 en español vamos a activarlo en pocos pasos.

Editando /etc/login.conf

Es en este archivo donde se configuran multitud de parámetros del inicio de sesión. Así que editaremos /etc/login.conf:

$ sudo nano /etc/login.conf

Buscaremos la sección default:

default:\
        :passwd_format=sha512:\
        :copyright=/etc/COPYRIGHT:\
        :welcome=/etc/motd:\

...

        :priority=0:\
        :ignoretime@:\
        :umask=022:

Añadiremos las variables charset y lang con los valores correspondientes a la codificación y su variante de idioma correspondientes. Es importante añadir un carácter \ a la última línea de la sección antes de añadir estas dos variables, y tener cuidado de que la última variable no termine en \. El final de la sección quedaría así:

...
        :priority=0:\
        :ignoretime@:\
        :umask=022:\
        :charset=UTF-8:\
        :lang=es_ES.UTF-8:

Creando la base de datos de capacidades de login

Guardados los cambios es necesario ejecutar cap_mkdb sobre el archivo /etc/login.conf para que se vuelva a crear la base de datos de capacidades del login:

$ sudo cap_mkdb /etc/login.conf

Es imporante cerrar la sesión y volver a iniciarla, hecho lo cual podemos comprobar de nuevo la configuración de localización:

$ locale
LANG=es_ES.UTF-8
LC_CTYPE="es_ES.UTF-8"
LC_COLLATE="es_ES.UTF-8"
LC_TIME="es_ES.UTF-8"
LC_NUMERIC="es_ES.UTF-8"
LC_MONETARY="es_ES.UTF-8"
LC_MESSAGES="es_ES.UTF-8"
LC_ALL=

Y vemos cómo refleja los cambios. Es más, en la misma línea de comandos ya podemos usar caracteres especiales:

$ áéíóú ñÑ çÇ ¿? ¡!

Conclusión

FreeBSD 12 tiene soporte para UTF-8 pero carece del configurador durante el proceso de instalación del sistema. Afortunadamente la configuración es sencilla y no requiere instalación adicional de paquetes, basta con una mínima configuración.

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (2 votos, promedio: 5,00 de 5)
Cargando…

 

 

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies.

ACEPTAR
Aviso de cookies