Eu instalei o novo shell bash no Windows 10. Estou usando-o junto com o ZSH. No entanto, nenhum dos caracteres utf8 funciona, eles aparecem como blocos quadrados. Como habilito a codificação de caracteres utf8 no shell como padrão? Isso é possível?
36
chcp 65001
a mudança de página de código para UTF-8 e altere a fonte para ConsolasSimSun-Ext B
fonte e todos os caracteres estão sendo exibidos corretamente.Respostas:
Clique com o botão direito do mouse na barra de título, na parte superior da janela do bash, escolha as propriedades da entrada. Na janela de abertura, há uma guia na qual você pode alterar a fonte. Mudei a fonte para "Source Code Pro" e tamanho 14.
Parece bom e todos os caracteres utf-8 estão funcionando.
fonte
Para adicionar à resposta do Doctorj, existem algumas fontes instaladas por padrão que você pode usar (no shell bash do Windows 10).
Idiomas testados: búlgaro, ucraniano, chinês simplificado, chinês tradicional, dinamarquês, francês, alemão, italiano, japonês, cazaque, coreano, macedônio, mongol, norueguês, polonês, português, russo, sérvio, espanhol e sueco.
As seguintes fontes padrão exibem todos os caracteres observados:
MS Gothic e NSimSun
SumSun-ExtB (fonte raster):
Com qualquer uma dessas fontes, no prompt de comando e no PowerShell, coisas estranhas acontecem quando você clica em caracteres não ASCII, embora volte ao normal quando você destaca o texto.
Para instalar uma fonte: Observe que você precisa alterar a fonte do shell do Windows que está usando, como o prompt de comando ou o PowerShell, e não o caminho do Linux no bash. Este link descreve quais fontes podem ser usadas no Prompt de Comando (fontes monoespaçadas e como instalar e selecionar uma fonte para o Prompt de Comando): Adicione fontes ao Prompt de Comando
Para obter informações sobre a instalação de fontes pela linha de comando no Windows, consulte esta pergunta e respostas.
(Nota: ainda não tenho reputação suficiente para postar os links).
fonte
Você pode experimentar o DejaVu Sans Mono - funciona para mim.
fonte
Isso é realmente mais um comentário do que uma resposta, mas como o SE não me permite comentar ...
Você não forneceu informações suficientes. O Unicode fornece mais de um milhão de caracteres possíveis, dos quais mais de 100.000 foram definidos. (Os restantes são para quando entramos em contato com extraterrestres, ou mais provavelmente com os sistemas de escrita dos terráqueos que ainda não foram codificados.) Estes são divididos em cerca de 150 scripts: latim, cirílico, árabe, chinês ... Nenhuma fonte está funcionando para fornecer glifos (imagens de caracteres) para todos esses caracteres. (Há um ou dois que fornecem uma caixa com o ponto de código dentro, mas não é isso que você deseja.)
Como o grawity disse há mais de dois anos, se você está recebendo uma caixa onde espera um único caractere, seu aplicativo já está exibindo Unicode (presumivelmente a codificação UTF-8 do Unicode). O que falta é uma fonte que forneça glifos para quaisquer scripts que você deseja exibir. Se você está exibindo russo, deseja uma fonte com caracteres cirílicos; se você quiser exibir chinês, precisará de uma fonte com esses caracteres. (A maioria dessas fontes também exibirá caracteres latinos - do tipo que usamos para o inglês - mas não necessariamente bonitos.)
Então, minha pergunta para você é: qual script você está tentando exibir? Até que saibamos disso, todas as respostas serão suposições.
BTW, existem alguns scripts bastante complicados e apenas alguns programas os exibirão corretamente, mesmo se você tiver a fonte correta. Entre eles estão birmaneses, alguns scripts índicos (Devanagari, por exemplo) e árabe (que é escrito da direita para a esquerda e tem caracteres que devem ser exibidos de maneira diferente dependendo dos caracteres adjacentes).
fonte