He instalado el nuevo shell bash en Windows 10. Lo estoy usando junto con ZSH. Sin embargo, ninguno de los caracteres utf8 funciona, aparecen como bloques cuadrados. ¿Cómo habilito la codificación de caracteres utf8 en el shell por defecto? ¿Es eso posible?
36
chcp 65001
para cambiar la página de códigos a UTF-8 y cambiar la fuente a ConsolasSimSun-Ext B
fuente y todos los caracteres se muestran correctamente.Respuestas:
Haga clic derecho en la barra de título en la parte superior de la ventana de bash, elija las propiedades de entrada. En la ventana de apertura hay una pestaña donde puede cambiar la fuente. Cambié la fuente a "Source Code Pro" y tamaño 14.
Se ve bien y todos los caracteres utf-8 están funcionando.
fuente
Para agregar a la respuesta de Doctorj, hay un par de fuentes que se instalan de manera predeterminada que puede usar (en Windows 10 bash shell).
Idiomas probados: búlgaro, ucraniano, chino simplificado, chino tradicional, danés, francés, alemán, italiano, japonés, kazajo, coreano, macedonio, mongol, noruego, polaco, portugués, ruso, serbio, español, sueco.
Las siguientes fuentes predeterminadas muestran todos los caracteres observados:
Tanto MS Gothic como NSimSun
SumSun-ExtB (fuente ráster):
Con cualquiera de estas fuentes, tanto Símbolo del sistema como PowerShell, suceden cosas extrañas cuando hace clic en caracteres que no son ASCII, aunque vuelve a la normalidad cuando resalta el texto.
Para instalar una fuente: Tenga en cuenta que debe cambiar la fuente para el shell de Windows que está utilizando, como el Símbolo del sistema o PowerShell, no la forma de Linux a través de bash. Este enlace describe qué fuentes se pueden usar en el Símbolo del sistema (fuentes monoespaciales y cómo instalar y seleccionar una fuente para el Símbolo del sistema): Agregar fuentes al Símbolo del sistema
Para obtener información sobre la instalación de fuentes a través de la línea de comandos en Windows, consulte esta pregunta y sus respuestas.
(Nota: todavía no tengo suficiente reputación para publicar los enlaces).
fuente
Puedes probar DejaVu Sans Mono, funciona para mí.
fuente
Esto es realmente más un comentario que una respuesta, pero dado que SE no me permite comentar ...
No has proporcionado suficiente información. Unicode proporciona más de un millón de caracteres posibles, de los cuales se han definido más de 100,000. (Los restantes son para cuando contactamos con extraterrestres, o más probablemente para los sistemas de escritura de los terrícolas que aún no se han codificado). Estos se dividen en alrededor de 150 guiones: latín, cirílico, árabe, chino ... No hay fuente para proporcionar glifos (imágenes de caracteres) para todos esos caracteres. (Hay uno o dos que proporcionan una caja con el punto de código dentro, pero eso no es lo que desea).
Como dijo Grawity hace más de dos años, si obtiene un cuadro donde espera un solo carácter, entonces su aplicación ya está mostrando Unicode (presumiblemente la codificación UTF-8 de Unicode). Lo que le falta es una fuente que proporcione glifos para cualquier script que desee mostrar. Si está mostrando ruso, querría una fuente con caracteres cirílicos; si desea mostrar chino, necesita una fuente con esos caracteres. (La mayoría de esas fuentes también mostrarán caracteres latinos, del tipo que usamos para inglés, pero no necesariamente bonitos).
Entonces mi pregunta para usted es: ¿qué script está tratando de mostrar? Hasta que sepamos eso, todas las respuestas serán conjeturas.
Por cierto, hay algunos scripts que son bastante complicados, y solo algunos programas los mostrarán correctamente, incluso si tiene la fuente correcta. Entre estos están el birmano, algunos guiones índicos (Devanagari, por ejemplo) y el árabe (que se escribe de derecha a izquierda y tiene caracteres que deberían mostrarse de manera diferente dependiendo de los caracteres adyacentes).
fuente