#1 Le 15/09/2010, à 12:27
- synapse
[resolu] Ubuntu 10.4 serveur, console et problème de caractères
Bonjour,
Une petite question normalement simple, mais je ne suis pas habitué à Ubuntu...
J'ai un serveur qui boot en runlevel 2. La version serveur ne dispose que de consoles textes sans environnement graphique. Mon problème est que tous les caractères accentués sont remplacé par des caractères '@' ou des caractères curieux. ("touch éétutu" devient "??tutu")
Sous RedHat, je modifiais un variable "charset" dans le fichier "i18n" sous "/etc/sysconfig/".
Je mettais ce genre de chose : LANG="fr_FR@euro" et le problème était résolu.
Est-ce que quelqu'un aurait la gentillesse de me donner la marche à suivre pour régler mon problème de caractères svp ? Et puis, si vous avez quelques explications à me fournir ou des bons liens, je suis preneur
Par avance, je vous en remercie.
--------------------------------------------------------------------------------------------------
Voici la solution ^^
Fichier : /var/lib/locales/supported.d/local
fr_FR.ISO-8859-15 ISO-8859-15 <- j'ai ajouté ceci
#fr_FR.UTF-8 UTF-8 <- et mis en commentaire cela
en_US.UTF-8 UTF-8
Fichier : /etc/default/locale
LANG="fr_FR.ISO-8859-15@euro"
Puis, en ligne de commande :
# sudo locale-gen --purge
Je me suis déconnecté, puis reconnecté et tout est ok maintenant
Dernière modification par synapse (Le 21/09/2010, à 16:31)
Hors ligne
#2 Le 15/09/2010, à 13:12
- sorrodje
Re : [resolu] Ubuntu 10.4 serveur, console et problème de caractères
en tapant la commande
sudo dpkg-reconfigure console-setup
tu devrais pouvoir reconfigurer ton clavier en tty pour passer en fr UTF-08 me semble t-il
Dernière modification par sorodje (Le 15/09/2010, à 13:24)
Utilisateur Debian/Ubuntu depuis 2008 - http://sorrodje.alter-it.org
Hors ligne
#3 Le 15/09/2010, à 13:37
- synapse
Re : [resolu] Ubuntu 10.4 serveur, console et problème de caractères
Merci Sorodje. Je viens de faire la manip. J'ai tout configuré en FR + UTF8. Un petit reboot de serveur et même résultat qu'avant
Malheureusement j'ai toujours le souci.
Hors ligne
#4 Le 15/09/2010, à 14:10
- Totor
Re : [resolu] Ubuntu 10.4 serveur, console et problème de caractères
et sudo dpkg-reconfigure locales ?
-- Lucid Lynx --
Hors ligne
#5 Le 15/09/2010, à 14:35
- synapse
Re : [resolu] Ubuntu 10.4 serveur, console et problème de caractères
Merci Totor,
Je viens d'essayer + reboot derrière, même résultat
"touch ééyop" me donne un fichier "??yop".
Suivant !!!
Hors ligne
#6 Le 15/09/2010, à 14:56
- FRUiT
Re : [resolu] Ubuntu 10.4 serveur, console et problème de caractères
C'est surement une connerie, mais pourquoi tu cherches pas le même fichier dans ubuntu pour y faire la même manip qu'avant sous redhat ?
Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean
Hors ligne
#7 Le 15/09/2010, à 15:05
- ehmicky
Re : [resolu] Ubuntu 10.4 serveur, console et problème de caractères
Juste par curiosité, que te donne un :
echo $LANG
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne
#8 Le 16/09/2010, à 08:27
- synapse
Re : [resolu] Ubuntu 10.4 serveur, console et problème de caractères
# echo $LANG
fr_FR.UTF-8
Fruit -> le problème, c'est que je trouve plein de fichier "i18n" sous Ubuntu et qu'il ne ressemble pas au fichier que j'vais sous RedHat...
Merci pour votre aide
Hors ligne
#9 Le 16/09/2010, à 08:51
- ehmicky
Re : [resolu] Ubuntu 10.4 serveur, console et problème de caractères
Juste une petite interrogation : si je fais un :
cat /usr/share/i18n/SUPPORTED | grep "fr_FR"
Je vois que @euro est associé à ISO-8859-15 (Latin1 avec l'€ et quelques caractère européens en plus) : or ton système semble utiliser UTF-8. Est-ce que tu ne mettrais pas @euro dans les fichiers de conf là où le système voudrait de l'UTF-8 ?
En effet, le caractère � est typiquement dû à la lecture d'un caractère Latin-1 (ou une variante) par un système parlant l'UTF-8, contrairement aux caractères comme é qui indiquent l'inverse.
Je dirais bien aussi de faire un :
locale-gen fr_FR.UTF-8
mais j'imagine que le sudo dpkg-reconfigure locales de Totor aurait dû faire l'affaire...
Edit : corriger l'erreur d'inversion UTF-8 / Latin-1
Dernière modification par ehmicky (Le 16/09/2010, à 09:38)
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne
#10 Le 16/09/2010, à 09:07
- synapse
Re : [resolu] Ubuntu 10.4 serveur, console et problème de caractères
Voici ce que j'obtiens :
# cat /usr/share/i18n/SUPPORTED | grep "fr_FR"
fr_FR.UTF-8 UTF-8
fr_FR ISO-8859-1
fr_FR@euro ISO-8859-15 <- ça sent bon ça !
# locale-gen fr_FR.UTF-8
Generating locales...
fr_FR.UTF-8... up-to-date
Generation complete.
Hors ligne
#11 Le 16/09/2010, à 09:11
- synapse
Re : [resolu] Ubuntu 10.4 serveur, console et problème de caractères
Ceux qui est curieux, c'est que tout mes caractère accentués sont représenté par '?'.
# touch ééèèàààyop -> ???????yop
Hors ligne
#12 Le 16/09/2010, à 09:28
- ehmicky
Re : [resolu] Ubuntu 10.4 serveur, console et problème de caractères
C'est pas curieux, c'est le comportement naturel de la lecture d'un caractère Latin1, Windows-1251 ou ISO-8859-15 sur un sytème UTF-8. En effet les caractères accentués, etc. sont encodés de 0x80 à 0xff, ce qui est la plage des clefs UTF-8. Or ces clefs sont des caractères invalides en UTF-8 si elles ne sont pas suivies d'une séquence précise de caractère avec une plage restreinte. Ainsi le caractère <?> est substitué.
Edit : peux-tu faire un :
echo "ééé" > fichier
Et ouvrir ce fichier avec un éditeur hexa (comme ghex2 ou hexer) pour nous dire la séquence de caractères que tu as ? Une suite de 0xe9 terminée par 0x0a indique que ton fichier a été écrit en Latin1 (ou variante), et une suite de 0xc3 0xa9 (endianness corrigée) terminée par 0x0a indique que ton fichier a été écrit en UTF-8.
Dernière modification par ehmicky (Le 16/09/2010, à 09:47)
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne
#13 Le 16/09/2010, à 09:52
- synapse
Re : [resolu] Ubuntu 10.4 serveur, console et problème de caractères
Et hop ! Ca devient Rock'n roll, j'aime ça !
Je n'ai pas les 2 éditeurs hexa que tu m'as cité... j'ai fait un "od -x" J'espère que ça fera l'affaire.
# od -x fichier_tmp
0000000 e9e9 0ae9
0000004
# vi fichier_tmp
ééé
Mais si je fais un 'cat', j'obtiens ceci :
# cat fichier_tmp
ééé
J'ai envie de pleurer...oooiiiiiinnnnnnnn
Dernière modification par synapse (Le 16/09/2010, à 09:53)
Hors ligne
#14 Le 16/09/2010, à 09:56
- synapse
Re : [resolu] Ubuntu 10.4 serveur, console et problème de caractères
Je viens d'installer 'Hexer'. Voici ce que ça donne :
# hexer fichier_tmp
00000000: e9 e9 e9 0a -- -- -- -- -- -- -- -- -- -- -- -- ....------------
Hors ligne
#15 Le 16/09/2010, à 09:59
- ehmicky
Re : [resolu] Ubuntu 10.4 serveur, console et problème de caractères
Ok, donc maintenant on est bien sûr que ton système lit et écrit en Latin1 (ou variante) et non en UTF-8...
Or corriger ton problème c'est faire en sorte qu'il lise et écrive en UTF-8.
Retour à la case départ, je ne vois pas ce qui cloche dans tes locales, et pourquoi tu n'as pas une locale UTF-8 par défaut, alors que $LANG est sur "fr_FR.UTF-8" et que tu as bien cette locale de générée...
Dernière modification par ehmicky (Le 16/09/2010, à 10:03)
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne
#16 Le 16/09/2010, à 10:01
- synapse
Re : [resolu] Ubuntu 10.4 serveur, console et problème de caractères
J'ai oublié de préciser... je n'ai modifié aucun fichier à la main ^^
Hors ligne
#17 Le 16/09/2010, à 10:04
- ehmicky
Re : [resolu] Ubuntu 10.4 serveur, console et problème de caractères
Bon... que te donne :
locale
et :
locale -a
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne
#18 Le 16/09/2010, à 10:21
- synapse
Re : [resolu] Ubuntu 10.4 serveur, console et problème de caractères
# locale
LANG=fr_FR.UTF-8
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=
# locale -a
C
en_AG
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_NG
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZW.utf8
fr_BE.utf8
fr_CA.utf8
fr_CH.utf8
fr_FR.utf8
fr_LU.utf8
POSIX
Hors ligne
#19 Le 16/09/2010, à 10:27
- ehmicky
Re : [resolu] Ubuntu 10.4 serveur, console et problème de caractères
Ok franchement, je ne comprends vraiment pourquoi vu ta configuration ça ne marche pas... si quelqu'un d'autre a une idée...
J'ai relu plusieurs doc' sur les locales, et j'ai l'impression qu'on a tout fait...
Ca doit être un truc moins banal...
Edit : en tout cas, ce que tu faisais sous RedHat n'est pas à faire, car fr_FR@euro te donnait un environnement qui n'étais pas sous UTF-8. Je me demande si le problème ne viendrait pas du fait que tu ais copié / collé des fichiers de configuration depuis ton ancien environnement RedHat vers Ubuntu. Le problème viendrait de ces fichiers conf qui indiquerait éventuellement un passage en Latin1 qui passerait outre les variables telles que $LANG... juste une hypothèse.
Dernière modification par ehmicky (Le 16/09/2010, à 10:30)
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne
#20 Le 16/09/2010, à 11:09
- synapse
Re : [resolu] Ubuntu 10.4 serveur, console et problème de caractères
En tout cas merci pour tout !!! Je sens que mon problème ne te laisse pas insensible.
Hors ligne
#21 Le 16/09/2010, à 11:14
- ehmicky
Re : [resolu] Ubuntu 10.4 serveur, console et problème de caractères
Est-ce que tu as effectivement fait des copier/coller de fichiers conf depuis ton ancien environnement vers ce nouveau, ou tu as installé Ubuntu de 0 ?
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne
#22 Le 16/09/2010, à 11:17
- synapse
Re : [resolu] Ubuntu 10.4 serveur, console et problème de caractères
J'ai une installation toute propre ! Aucun copier / coller ou modif manuelle de fichier.
Hors ligne
#23 Le 16/09/2010, à 11:21
- synapse
Re : [resolu] Ubuntu 10.4 serveur, console et problème de caractères
Je ne sais pas si ça va faire avancer quelque chose...
Mais, certaines commandes m'affichent correctement les caractères ^^ ... d'autre non
Par exemple: "cat" affiche bien les carac, mais pas "vi".
si je tape n'importe quelle commande + tab + tab, la liste des fichiers remonte avec les accents, alors que "ls" a du mal avec les accents.
Une piste ?
Dernière modification par synapse (Le 16/09/2010, à 11:22)
Hors ligne
#24 Le 16/09/2010, à 11:30
- synapse
Re : [resolu] Ubuntu 10.4 serveur, console et problème de caractères
C'est pas tout ça, mais c'est l'heure de faire un break et de manger un coup ^^
Bon ap'
Hors ligne
#25 Le 16/09/2010, à 12:26
- ehmicky
Re : [resolu] Ubuntu 10.4 serveur, console et problème de caractères
C'est normal parce que certaines commandes prennent un flux d'octets octet par octet, d'autres caractère par caractère.
Dans le premier cas (par exemple cat), il n'y a pas besoin de connaître donc l'encodage des octets, il sont juste traités un par un et restitué un par un. Ils sont donc dans ton système lu en Latin1, et écrits en Latin1, et donc pas de problème.
Dans le second cas (par exemple ls), la commande cherche à interpréter le flux d'octet en fonction d'un encodage donné, et donc le lit caractère par caractère. Dans ton cas, elle lit par défaut en UTF-8 ; or tes noms de fichier sont écrits en Latin1 : d'où les <?>.
Enfin bref, en fait la question n'est même pas là, puisque le problème est clairement identifié : ton système utilise (= lecture et écriture) Latin1 (ou une variante) ; or il devrait utiliser UTF-8. Or tes fichiers conf, etc. semble indiquer que tu tournes en UTF-8, mais ce n'est pas le cas.
Edit : peux-tu essayer de voir ce que donne en hexadécimal (comme précedemment) un "€".
Dernière modification par ehmicky (Le 16/09/2010, à 12:27)
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne