Mysql : Problème d'encodage des accents...

Mysql : Problème d'encodage des accents... - SQL/NoSQL - Programmation

Marsh Posté le 05-08-2008 à 21:04:45    

Bonjour à toute et à tous ! :hello:  
J'ai écris un fichier contenant les lignes suivantes :
INSERT INTO `nomDeTable` VALUES ('','nom','prénom');
INSERT INTO `nomDeTable` VALUES ('','nom','prénom');
...(toujours le même type de requête)

 
Quand je l'importe sur ma BDD à partir de ce fichier, les caractères "é", "à", "ê" et "ô" sont remplacés par "?".
L'encodage choisie sur la BDD est 'latin1_swedish_ci'.
 
Sauriez-vous ce que je peux faire pour régler ce problème...? :??:  
J'ai modifier l'encodage des champs avec 'latin1_general_ci' et 'utf8_unicode_ci' mais rien n'y fait....

Reply

Marsh Posté le 05-08-2008 à 21:04:45   

Reply

Marsh Posté le 05-08-2008 à 21:13:47    

je suispas sûr que les lettres accentuées existent en suédois, si ?

Reply

Marsh Posté le 05-08-2008 à 21:18:48    

Je ne sais pas mais c'était le codage par défaut, donc je l'ai modifié et c'est encore pire :
Avec cet encodage, les mots constitués du caractère "é" affiche "?";
Avec les encodages 'latin1_general_ci' et 'utf8_unicode_ci', ces mots ne s'affichent même pas...
Voilà pourquoi je n'arrive pas à comprendre ce que je dois effectuer pour remédier à ça...

Reply

Marsh Posté le 05-08-2008 à 21:24:27    

t'assoir et pleurer :D
 
sur ton site PHP, t'as aussi pris l'encodage ISO suédois ?
 
à mon avis, t'es bon pour trouver/coder une moulinette pour transformer tout ce joyeux bordel en latin ou utf8

Reply

Marsh Posté le 05-08-2008 à 21:44:15    

Je veux bien le modifier mais franchement je n'ais pas de piste pour commencer... En as-tu une à m'indiquer ?

Reply

Marsh Posté le 05-08-2008 à 21:45:29    

Et pour répondre à ta question si l'encodage est suédois, non, c'est iso-8859-1

Reply

Marsh Posté le 05-08-2008 à 21:54:08    

à mon avis, ça vient de là : tu lis correctement avec l'encodage suédois les bons caractères mais tu les restitues dans le PHP en utilisant un encodage non compatible.

Reply

Marsh Posté le 05-08-2008 à 22:01:58    

Non en fait je me ré-explique dsl :
Lorsque j'"upload" le fichier sur la BDD, c'est directement sur MySql que les caractères sont transformés en "?", il ne s'agit pas encore de mon site car il n'intervient pas encore.
Saurais-tu d'ou cela peut venir...?

Reply

Marsh Posté le 05-08-2008 à 22:08:59    

non, c'est pas parceque dans phpmyadmin ou autre application d'administration de mysql tu vois des "?" que les données sont merdées.
 
phpmyadmin doit utiliser le 8859-1, et les applications windows utilisent le windows-1252 qui est pour ainsi dire un synonyme du premier. c'est pour ça que ça merde.
 
ça ne veux rien dire.
 
crée une page PHP avec comme encodage le suédois, et tente d'afficher des données provenant de ta base. si t'as des ?, là tu pourras commencer à chercher d'où ça vient. pas avant.
 
et éventuellement, c'est l'inverse : les données sont stockées en réalité en latin, mais la base en suédois. php utilise peut-être alors le charset suédois et se gourre à l'affichage. à ce moment, tente de modifier ta page php avec différents charset. l'encodage de la base n'altère pas (du moins, pas censé altérer) les données qui sont devant, même si elles sont dans un autre encodage.
 
j'ai longtemps travaillé chez des clients avec des bases oracle configurées en US ASCII 7, alors que les données dedans était gérés en windows 1252. il n'y avait aucun problème dans l'application, mais dans toad ou sql+ ça affichait absolument n'importe quoi.

Reply

Marsh Posté le 05-08-2008 à 22:44:03    

Merci beaucoup d'avoir répondu MagicBuzz. Je viens de trouver mon érreur... Et elle est pas très "intélligente".... :
Quand j'"upload" je n'ai pas spécifié l'encodage 'latin_1', j'ai laissé 'utf8'...
Bon je crois qu'un peu de sommeil me fera du bien.........car c'est vraiment une erreur stupide.........
Merci encore.

Reply

Sujets relatifs:

Leave a Replay

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