ENCODAGE : encodage des caratères dans une console linux

Bonjour,

J’ai réalisé une petite interface web en php pour collecter/envoyer des données sur une BD mysql (le serveur mysql et le serveur web tournent sur ma machine debian).
La BD est en utf8, de même que ma page web.
Les caractères accentués provenant de la BD sont correctement affichés tant que je n’interagis avec ma BD qu’à partir de mon interface web.

Mais si j’insère de nouvelles données dans ma BD à partir d’un xterm et si ces données comportent des caractères accentués alors ceux-ci ne sont
plus affichés correctement dans ma page web (j’obtiens des points d’interrogation à la place). En effet, ces caractères sont encodés en ISO-8859-1.

Ma question est la suivante : comment faire pour que les caractères saisis dans ma console linux (dans la BD mysql) soient encodés en utf8. Je précise que mes variables locales sont toutes en utf-8.

Merci pour votre aide

As-tu le même résultat à partir d’un autre terminal graphique ?
Konsole ou autre.
ou à partir de TTY ?

man iconv

Ou alors, il faudrait ajuster (je sais pas où) les paramètres de la connexion au serveur sql

peut-être çà :
10.1.4 Connection Character Sets and Collations

=======
Source

Bonjour,

Pour que des caractères utf-8, admettons, soient correctement affichés et entrés à l’aide d’un émulateur de terminal, il faut que le shell ETC utilise une locale en utf-8, évidement, mais aussi que l’émulateur de terminal soit en utf-8.

Avec le terminal Gnome, il faut aller dans le menu “Terminal” et dans le sous-menu “Définir le codage des caractères”. Il y a un équivalent pour la plupart des autres émulateurs.

Pour vérifier le codage utilisé par le shell : locale charmap - how-to-get-terminals-character-encoding


AnonymousCoward

Bonjour,
Le problème ne venait pas de mon terminal qui est bien paramétré mais bien du paramétrage du serveur mysql.
J’ai dû modifier le fichier /etc/mysql/my.cnf, j’ai inséré la ligne suivante dans la section [mysqld]

init-connect='SET NAMES utf8'

et du coup tout fonctionne parfaitement.

Merci pour votre aide.