Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Outils
Outils Forum d'entraide sur les outils pour MySQL. Avant de poster -> Outils MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/08/2007, 10h57   #1
Invité de passage
 
Inscription : août 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 5
Points : 1
Points : 1
Par défaut Problème de charset

Bonjour à tous !

Je vous explique :

Je suis étudiant en informatique, et lors de mon stage annuel je réalise un Intranet en utilisant PHP, MySQL et un serveur DEBIAN LENNY.

Tout c'est jusque la plutôt bien passé ..

Afin de migrer l'ancienne base de données vers la nouvelle j'ai utilisé des procedure stockées ( qui ne sont rien d'autres que des requete SQL executées côté serveur) , lors de la rédaction je fais des tests, déclare des variables etc ..

Toutes marches bien sauf celles qui réalise des tests avec des chaines de caracteres accentuées comme celles ci:

Citation:
REPEAT
FETCH cur INTO var_IdFacture,var_CAB,var_IdContrat,var_DateFacturation,var_DateDeReglement,var_Objet,var_DateDebutEcheancier,var_DateFinEcheancier,var_MontantHT,var_Observations;
IF NOT done THEN

-- Si objet un grenke , Locam ou générale electrique societe de fi = obejt sinon objet = objet et societe de fi = ""
IF var_Objet = 'général electrique' THEN
SET var_Objet = 'Grenke';
INSERT INTO facturation (IdFacture, CAB, IdContrat, TypeFacture, DateFacturation, DateDeReglement, SocieteDeFinancement, DateEcheancePaiement, DateDebutEcheancier, DateFinEcheancier, Objet, MontantHT, Observations ) VALUES(var_IdFacture,var_CAB,var_IdContrat,'Facture diverse',var_DateFacturation,var_DateDeReglement,var_Objet,'',var_DateDebutEcheancier,var_DateFinEcheancier,'',var_MontantHT,var_Observations);
END IF;
END IF;
UNTIL done END REPEAT;
Apres avoir testé et rata testé je me suis apercu en lancant une requete en ligne de commande sous debian que ' éléctrique ' de la varible var_Objet été en fait percu comme '?l?ctrique'.

Je me suis pas mal renseigné sur les problemes de charsets et la encore plus étonnant je suis (normalement) partout en latin1

En effet les commandes
Citation:
SELECT @@CHARACTER_SET_CLIENT;
SELECT @@CHARACTER_SET_CONNECTION;
SELECT @@CHARACTER_SET_SERVER;
SELECT @@CHARACTER_SET_DATABASE;
SELECT @@CHARACTER_SET_RESULTS;
Retourne toutes :

Citation:
+--------------+
| latin1 |
+--------------+
Et
Citation:

SELECT @@COLLACTION_CONNECTION;
SELECT @@COLLATION_DATABSE;
Retourne

Citation:
+-------------------------+
| latin1_swedish_ci |
+-------------------------+
Je me suis documenté ICI et ICI

Je ne sais vraiment pas pourquoi cela ne fonctionne pas j'ai egalement

renseigné
Citation:
DEFAUT-CHARACTER-SET= latin1
dans le fichier de conf de mysql ( my.cnf)
courbiff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2007, 12h10   #2
Expert Confirmé
 
Avatar de berceker united
 
Développeur informatique
Inscription : février 2005
Messages : 2 982
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 2 982
Points : 3 567
Points : 3 567
Tente de faire une petit test a part pour savoir si ça vien bien de ta base de données. Je t'avouerais que pour moi aussi c'est un casse tête.
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...
berceker united est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2007, 12h12   #3
Invité de passage
 
Inscription : août 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 5
Points : 1
Points : 1
Qu'entends tu part un petit test à part ? En tout cas merci de ta réponse rapide
courbiff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2007, 12h17   #4
Membre éprouvé
 
Avatar de nounetmasque
 
Inscription : janvier 2003
Messages : 491
Détails du profil
Informations forums :
Inscription : janvier 2003
Messages : 491
Points : 488
Points : 488
Vérifie la structure de ta table pour être certain quelle est bien en latin1 :
__________________
"Dieu reste muet, si seulement nous pouvions convaincre l'être humain d'en faire autant."
nounetmasque est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2007, 14h12   #5
Invité de passage
 
Inscription : août 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 5
Points : 1
Points : 1
Euh le probleme de SHOW TABLE STATUS c'est que toute mes tables n'apparaisse pas ors que dans un SHOW TABLES elles sont toutes présentes ca c'est en ligne de commande sous debian

Et sous PHPMYADMIN :

racv2_facture_contrat MyISAM 10 Dynamic 8083 156 1267244 281474976710655 118784 0 8444 2007-08-29 14:18:49 2007-08-29 14:18:59 NULL latin1_swedish_ci NULL Information sur la facture du contrat

-> peut-on juste se fier à PMA ?
courbiff est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h55.


 
 
 
 
Partenaires

Hébergement Web