OS X Terminal UTF-8 questions
Bon, alors finalement je me suis acheté un MacBook Air après 15 ans de linux. Et avant que j'ai eu à ma grande préoccupation était le support UTF-8 parce que peu importe si je reçois des fichiers qui me sont envoyés à partir de windows ou de mac des clients il y a toujours des problèmes avec l'encodage, alors que sur ubuntu, je peux être sûr que toutes les sorties de n'importe quel programme produira parfait codé en utf-8 données.
Et maintenant sur mon deuxième jour (aujourd'hui) avec OS X Im déchirer mes cheveux de frustration. Pourquoi?
Quand j'ouvre Nano et tapez quelques caractères suédois comme ÅÄÖ dans elle, elle met des caractères vides à la fin de la ligne (qui je suppose est l'autre octet de chaque personnage)
Quand j'ouvre python et essayez d'utiliser des caractères suédois, il ne produit rien du tout
Lorsque je me connecte à un serveur Ubuntu creux SSH je ne peux pas le type de åäö en bash, c'est dur fonctionne dans VIM (encore auge SSH). Et dans les nano backspace ne fonctionne pas, mais si vous cochez la case "Supprimer envoie ctrl+H" dans le Terminal, les préférences, le retour arrière commence à travailler dans les nano mais arrête de travailler dans VIM.
J'ai essayé en désactivant tous les autres encodages puis UTF-8 dans le terminal des préférences, mais cela ne semble pas fonctionner non plus.
Je suis sûr que tous les non-NOUS-la personne doit avoir les mêmes problèmes, donc hove puis-je corriger? Je veux juste plein le support UTF-8... :'(
- Pour moi, j'ai dû décocher Échapper à la non-ASCII d'entrée avec Contrôle-V sous
Terminal->Preferences->Settings->Advanced
pour me permettre de me taper directement les caractères non-ASCII (par exemple,Option-U u
pour obtenirü
).
Vous devez vous connecter pour publier un commentaire.
M'a aidé à ceci:
J'ai vérifié les paramètres régionaux sur mon shell local dans le terminal
Ensuite connecté à un hôte distant, je suis en utilisant via ssh et édité le fichier /etc/profile en tant que root - à la fin, j'ai ajouté la ligne:
Après la prochaine connexion, il fonctionne très bien en bash, ls et nano.
Malheureusement, la boîte de dialogue des Préférences n'est pas toujours très utile, mais en jouant autour de vous devriez être en mesure d'obtenir tout ce travail.
Pour être en mesure de taper des caractères suédois dans le Terminal, ajoutez les lignes suivantes à votre ~/.inputrc (très probablement, vous devez créer ce fichier):
Cela devrait faire le travail à la fois avec l'utf8 et d'autres codages dans
bash
,nano
et de nombreux autres programmes. Certains programmes, commetmux
, dépend aussi de lalocale
. Puis, en ajoutant par exempleexport LC_ALL=en_US.UTF-8
à votre~/.profile
fichier devrait aider, mais gardez à l'esprit que quelques-uns (surtout obscur) programmes exigent une norme locale, donc si vous avez des difficultés à exécuter, ou la compilation d'un programme, essayez de revenir àLC_ALL=C
.Quelques références qui peuvent être utiles:
.inputrc
- simple ouverture encore un autre onglet danstmux
ne fonctionne pas pour moi.Aller à
Terminal -> Preferences -> Advanced (Tab)
descendre àInternational
et sélectionnezUnicode (UTF-8)
commeCharacter Encoding
.Et les tiques
Set locale environment variables on startup
.Ce qui suit est un résumé de ce que vous devez faire sous OS X Mavericks (10.9). Tout cela est résumé dans
http://hints.macworld.com/article.php?story=20060825071728278
Aller à la Borne->Préférences->Paramètres->Avancé.
Sous International, assurez-vous que le codage des caractères est définie à Unicode (UTF-8).
Aussi, et cela est essentiel: en vertu de l' Émulation, assurez-vous que Échapper à la non-ASCII d'entrée avec Contrôle-V est désactivée (c'est à dire pas set).
Ces deux paramètres arranger les choses pour le Terminal.
Assurez-vous que vos paramètres régionaux est quelque chose qui se termine dans
.UTF-8
. Typelocale
et de regarder laLC_CTYPE
ligne. Si ce n'est pas dire quelque chose commeen_US.UTF-8
(les trucs avant de la dot peut changer si vous utilisez un non-anglais-états-unis locale), puis dans votre Bash.profile
ou.bashrc
dans votre répertoire home, ajoutez une ligne comme ceci:Cela va arranger les choses pour les programmes de ligne de commande en général.
Ajoutez les lignes suivantes à
.inputrc
dans votre répertoire home (le créer si nécessaire):Cela rend Bash huit bits propre, donc il va passer les caractères UTF-8 sans avoir à jouer avec eux.
Garder à l'esprit que vous devrez redémarrer Bash (par exemple, de fermer et de rouvrir la fenêtre de Terminal) pour les amener à accorder une attention à tous les paramètres que vous définissez dans les 2 et 3 ci-dessus.
Court polyvalent réponse (s'adapte à d'autres langues nationales, même lituanien et russe)
nano .profile
export LC_ALL=en_US.UTF-8
Cela a résolu pour moi, même petit pays de rares caractères nationaux. Vous pouvez fermer et ouvrir la Borne de faire des changements efficaces.
Aussi, si vous aimez Linux comportement (utiliser beaucoup de Alt raccourcis comme Alt+. ou Alt+, mc), alors vous devez désactiver Mac Option de style de la fonction de touche:
Terminal->Préférences->profil de>Clavier et de la case à cocher:
Use Option as Meta key
De mon terminal a été tout simplement agir stupide, pas l'impression d'åäö. J'ai trouvé (et réglé) ce paramètre:
Sous
Terminal -> Preferences... -> Profiles -> Advanced
.Semble avoir corrigé mon problème.
De faire
nano
de travail comme vous le souhaitez, essayez:Ou obtenir une version plus récente de
nano
viaMacPorts
:À l'égard de ssh & UTF-8 questions en commentaire
SendEnv LANG LC_*
dans/etc/ssh_config
.Voir: Terminal sous OS X Lion: vous ne pouvez pas écrire åäö sur la machine distante
SendEnv LANG LC_*
dans mon local /etc/ssh_config ET (2) d'exécuterexport LANG=en_US.UTF-8
à l'hôte distant.Vérifier si nano a été construit avec le support UTF-8, à l'aide de
nano --version
. Ici, il est sur Cygwin:Note le dernier bit.
Depuis nano est une application de terminal. Je suppose que c'est plus un terminal de problème qu'une nano problème.
J'ai rencontré des problèmes similaires à OS X (je n'ai pas d'entrée et afficher les caractères Chinois au terminal).
J'ai essayé de bidouiller le système de réglage grâce à OS X de l'INTERFACE utilisateur dont l'effet est de modifier la variable d'environnement LANG.
Donc, finalement, je viens d'ajouter des choses dans le ~/.bashrc pour résoudre le problème.
BTW, ne définissez pas LC_ALL qui va remplacer toutes les autres valeurs LC_*.
Dans mon cas, simplement à l'aide de la
uxterm
de commande au lieu dexterm
résolu le problème. Il est disponible en/opt/X11/bin/uxterm
par l'installation de la XQuartz package fourni par Apple.Essayer
.zshrc
ou.bashrc
:... Ou tout simplement laisser la coquille seul et l'utilisation TextWrangler qui vous permet également de choisir l'encodage et peut s'ouvrir à partir de /enregistrer directement sur votre Ubuntu box via sftp.