Problème d'accent dans ma base de donnée

Problème d'accent dans ma base de donnée - SQL/NoSQL - Programmation

Marsh Posté le 21-02-2007 à 14:48:24    

Bonjour,
 
J'ai un soucis avec mes données de ma base de donnée mysql. J'explique: j'ai installé Ocs Inventory NG (Gestion de parca informatique automatique) et quand l'agent me renvoie les données dans ma base de donnée et bien aucun n'accent n'apparaît exemple: au lieu de Céline j'ai Céline. Ca doit être un problème d'encodage mais étant débutante en mysql je ne sais pas trop comment remédier à mon problème. quand je fais un "show variables like 'character_set%';" en ligne de commande, ca me met que je suis en latin1.  
 
J'espère avoir été assez claire :??:  
 
Merci d'avance pour votre aide.
 
Je suis sous une distribution debian avec phpmyadmin
 
PS: Mon problème d'accent intervien dès ma base de donnée dans phpmyadmin
 
Céline

Reply

Marsh Posté le 21-02-2007 à 14:48:24   

Reply

Marsh Posté le 21-02-2007 à 14:59:09    

Dès le départ où t'as des caractères qui s'affichent sous la forme de deux caractères (genre é au lieu de é), c'est que t'affiche des données utf-8 dans un environnement iso-8859-1. C'est une piste ;)

Reply

Marsh Posté le 21-02-2007 à 15:23:48    

OK
merci de la piste mais moi il me faudrait plus une autoroute !! lol
iso-8859-1 c'est équivaut à latin1? Mes paramètres de mysql se mettent par défaut a latin1_swedish_ci .  
 
Cdlt

Reply

Marsh Posté le 21-02-2007 à 17:58:22    

Ouais, iso-8859-1 est équivalent à latin1.
 
Les paramètres dont tu parles (latin1_swedish_ci) ne correspondent pas à l'encoding, mais aux règles de collations. En d'autres termes les règles de comparaison de chaînes de caractères (le swedish n'est pas bien, il ne respecte pas les comparaisons françaises (à savoir que é peut être égal à e ou è)).
 
Là c'est que t'as inséré dans ta base des données au format utf-8 (donc d'un point de vue binaire, t'as des "Céline" dedans). La logique voudrait que tu ai des règles de collations qui comprennent l'utf-8, mais c'est pas le problème ici, ça ne changera rien.
 
 
Donc plusieurs possibilités : revoir l'importation des données dans ta base, et les convertirs en latin1. Ou alors revoir le site et le convertir en utf-8. Ou truc final mais relou, changer tous les affichages en mettant un utf8_decode pour convertir de l'utf-8 en latin1 (mais sûrement beaucoup trop long à faire, et posera problèmes pour certains caractères louches).
 
Je conseil fortement de convertir tout le site en utf-8... C'est d'ailleurs peut-être déjà le cas, tout est sûrement déjà en utf-8 (vérifier les meta http-equiv="Content-Type" des pages), il faut regarder du côté de la config serveur pour envoyer un entête Http qui spécifie le bon encoding.
 
Alors si tu choisis cette option, deux question : y a-t-il des caractères accentués qui s'affichent bien ? Quel serveur Http utilises-tu (Apache, IIS...) ?

Reply

Marsh Posté le 18-04-2007 à 08:07:33    

sinon, c'est latin1_german1_ci qui respecte le mieux les caractères accentués, cédilles etc.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed