J'ai installé le nouveau shell bash sur Windows 10. Je l'utilise avec ZSH. Cependant, aucun des caractères utf8 ne fonctionne, ils apparaissent sous forme de blocs carrés. Comment activer l'encodage de caractères utf8 dans le shell par défaut? Est-ce possible?
36
chcp 65001
pour changer la page de code en UTF-8 et changer la police en ConsolasSimSun-Ext B
police et tous les caractères s'affichent correctement.Réponses:
Faites un clic droit sur la barre de titre en haut de la fenêtre bash, choisissez les propriétés de l'entrée. Dans la fenêtre d'ouverture se trouve un onglet où vous pouvez changer la police. J'ai changé la police en "Source Code Pro" et la taille 14.
Semble bon et tous les caractères utf-8 fonctionnent.
la source
Pour ajouter à la réponse de Doctorj, il existe quelques polices installées par défaut que vous pouvez utiliser (sur le shell bash de Windows 10).
Langues testées: bulgare, ukrainien, chinois simplifié, chinois traditionnel, danois, français, allemand, italien, japonais, kazakh, coréen, macédonien, mongol, norvégien, polonais, portugais, russe, serbe, espagnol, suédois.
Les polices par défaut suivantes affichent tous les caractères observés:
MS Gothic et NSimSun
SumSun-ExtB (police raster):
Avec l'une de ces polices, à la fois l'invite de commandes et PowerShell, des choses étranges se produisent lorsque vous cliquez sur des caractères non ASCII, bien que cela revienne à la normale lorsque vous mettez le texte en surbrillance.
Pour installer une police: Notez que vous devez changer la police pour le shell Windows que vous utilisez, comme l'invite de commandes ou PowerShell, et non la manière Linux via bash. Ce lien décrit les polices pouvant être utilisées sur l'invite de commandes (polices monospace, et comment installer et sélectionner une police pour l'invite de commandes): Ajouter des polices à l'invite de commandes
Pour plus d'informations sur l'installation des polices via la ligne de commande sous Windows, consultez cette question et réponses.
(Remarque: je n'ai pas encore assez de réputation pour publier les liens).
la source
Vous pouvez essayer DejaVu Sans Mono - cela fonctionne pour moi.
la source
C'est vraiment plus un commentaire qu'une réponse, mais puisque SE ne me permet pas de commenter ...
Vous n'avez pas fourni suffisamment d'informations. Unicode fournit plus d'un million de caractères possibles, dont plus de 100 000 ont été définis. (Les autres sont pour quand nous contactons des extraterrestres, ou plus probablement pour les systèmes d'écriture d'Earthlings qui n'ont pas encore été encodés.) Ceux-ci sont répartis sur environ 150 scripts: latin, cyrillique, arabe, chinois ... Aucune police ne va pour fournir des glyphes (images de personnages) pour tous ces personnages. (Il y en a un ou deux qui fournissent une boîte avec le point de code à l'intérieur, mais ce n'est pas ce que vous voulez.)
Comme grawity l'a dit il y a plus de deux ans, si vous obtenez une boîte où vous attendez un seul caractère, votre application affiche déjà Unicode (probablement l'encodage UTF-8 d'Unicode). Ce qui vous manque, c'est une police qui fournit des glyphes pour tous les scripts que vous souhaitez afficher. Si vous affichez le russe, vous voudriez une police avec des caractères cyrilliques; si vous voulez afficher le chinois, vous avez besoin d'une police avec ces caractères. (La plupart de ces polices affichent également des caractères latins - le type que nous utilisons pour l'anglais - mais pas nécessairement jolies.)
Ma question est donc la suivante: quel script essayez-vous d'afficher? Tant que nous ne le saurons pas, toutes les réponses seront des suppositions.
BTW, certains scripts sont assez compliqués et seuls certains programmes les afficheront correctement, même si vous avez la bonne police. Parmi ceux-ci figurent le birman, certains scripts indiens (Devanagari, par exemple) et l'arabe (qui est écrit de droite à gauche et qui a des caractères qui devraient être affichés différemment selon les caractères adjacents).
la source