RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Srv: irc.moteurprog.com
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 Probleme de charset

Forum : MYSQL
Sous Catégorie : Aucune
Type du sujet : Sujet Normale
FAQ : FAQ MYSQL

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET NON RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


PAGES : [1] [2]

POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM MYSQL

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
courbiff
Nouveau membre
Inscrit : 29/08/2007
Messages : 12
Message
#141921
Posté le 29/08/07 à 11:34
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:



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

SELECT @@CHARACTER_SET_CLIENT; SELECT @@CHARACTER_SET_CONNECTION; SELECT @@CHARACTER_SET_SERVER; SELECT @@CHARACTER_SET_DATABASE; SELECT @@CHARACTER_SET_RESULTS;


Retourne toutes :


+--------------+ | latin1 | +--------------+


Et
SELECT @@COLLACTION_CONNECTION; SELECT @@COLLATION_DATABSE;


Retourne


+-------------------------+ | latin1_swedish_ci | +-------------------------+


Je me suis documenté ICIetICI
Je ne sais vraiment pas pourquoi cela ne fonctionne pas j'ai egalement

renseigné
DEFAUT-CHARACTER-SET= latin1
dans le fichier de conf de mysql ( my.cnf)

D'avance merci

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

Czayfaboo
Co-Administrateur
Superviseur :
- Langages Dot.
Modérateur :
- CSharp (C#)
Chef de projet(s) :
- ID3.NET Library
- MoteurProg Work.

Avatar de Czayfaboo
Inscrit : 05/01/2005
Messages : 2876
Message
#141925
Posté le 29/08/07 à 13:01
Euh... les procédures stockées... elles sont stockées où ? Dans un fichier ?
Si oui, vérifie l'encodage de ce fichier : il faut que ce soit du ISO-8859-1.

PS : Le HTML est désactivé sur Moteurprog. Pour faire un lien, utilise le BBcode et sa balise url.
__________________________
Sujet résolu ? Pensez à mettre le tag Image
Un problème en C# ? Vérifiez celui-ci n'est pas déjà résolu dans la FAQ et que le sujet n'est pas traité parmis les tutoriaux ou les articles avant de poster dans le forum C#.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

courbiff
Nouveau membre
Inscrit : 29/08/2007
Messages : 12
Message
#141930
Posté le 29/08/07 à 13:44
Oups désolé pour les balises ..

Effectivement je n'avais pas pensé à l'encodage du fichier qui contient mes procédures, je code avec notepad++ , j'ai testé de changer l'encodage , je l'ai converti au format UNIX ( mon serveur est un Debian) mais rien ne passe ..

De plus je ne pense pas que ce soit le seul problème, en fait lorsque je modifie la valeur du champ objet dans PHP MY ADMIN et que je met 'été' par exmple , sous debian un simple SELECT en ligne de commande me renvoi '?t?' je penche sur le charset de debian et vous ? si oui savez vous le configurer ?

En tout cas merci pour cette reponse !!

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Czayfaboo
Co-Administrateur
Superviseur :
- Langages Dot.
Modérateur :
- CSharp (C#)
Chef de projet(s) :
- ID3.NET Library
- MoteurProg Work.

Avatar de Czayfaboo
Inscrit : 05/01/2005
Messages : 2876
Message
#141932
Posté le 29/08/07 à 13:51
Les distrib Linux ont tendance à passer sous UTF-8... Je suppose que c'est le cas de Debian et çà expliquerait le problème...

Pourrais-tu faire un test avec texte encodé en utf-8 ?

Petite aide à ce sujet : Le problème avec l'utf-8 et MySQL c'est qu'il n'est pas supporté par la v5 et ne le sera qu'avec la version 6. Pour récupérer correctement des caractères UTF-8 depuis ta base de donnée, il faut que tu enregistre l'affichage ISO d'une chaine encodée en UTF-8... Mode d'emploi avec Notepad++ : Tu entres ta chaine dans l'encodage UTF-8... Tu change l'encodage pour afficher la même chaine en ISO-8859-1... Là ca va afficher des caractères à la con pour tes accents... C'est ce qu'on veut... Entre cette chaine dans ta db et refais une requete sur le champs contenant cette chaine spéciale (avec les caractères louches)... Si çà s'affiche correctement, ben c'est bien de l'utf-8 sinon... ben... j'aimerais bien savoir ce qui est affiché... Smiley
__________________________
Sujet résolu ? Pensez à mettre le tag Image
Un problème en C# ? Vérifiez celui-ci n'est pas déjà résolu dans la FAQ et que le sujet n'est pas traité parmis les tutoriaux ou les articles avant de poster dans le forum C#.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

courbiff
Nouveau membre
Inscrit : 29/08/2007
Messages : 12
Message
#141934
Posté le 29/08/07 à 13:59
Alors une fois encodé en UTF8 je ne peut même plus importer le dump, il me crash une erreur pour mes commentaires ( --- )

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Czayfaboo
Co-Administrateur
Superviseur :
- Langages Dot.
Modérateur :
- CSharp (C#)
Chef de projet(s) :
- ID3.NET Library
- MoteurProg Work.

Avatar de Czayfaboo
Inscrit : 05/01/2005
Messages : 2876
Message
#141935
Posté le 29/08/07 à 14:00
SmileySmileySmiley

Passe par PhpMyAdmin, çà marche, je l'ai déjà fait plein de fois...
__________________________
Sujet résolu ? Pensez à mettre le tag Image
Un problème en C# ? Vérifiez celui-ci n'est pas déjà résolu dans la FAQ et que le sujet n'est pas traité parmis les tutoriaux ou les articles avant de poster dans le forum C#.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

courbiff
Nouveau membre
Inscrit : 29/08/2007
Messages : 12
Message
#141937
Posté le 29/08/07 à 14:01
Euh je fais comment ? j'encode tout en utf8 ? désolé un peu perdu

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Czayfaboo
Co-Administrateur
Superviseur :
- Langages Dot.
Modérateur :
- CSharp (C#)
Chef de projet(s) :
- ID3.NET Library
- MoteurProg Work.

Avatar de Czayfaboo
Inscrit : 05/01/2005
Messages : 2876
Message
#141939
Posté le 29/08/07 à 14:04
Non, non... fait comme je t'ai dis dans "la petite aide à ce sujet"... T'as pas compris où ça marche pas à un moment ? Détaille stp...
__________________________
Sujet résolu ? Pensez à mettre le tag Image
Un problème en C# ? Vérifiez celui-ci n'est pas déjà résolu dans la FAQ et que le sujet n'est pas traité parmis les tutoriaux ou les articles avant de poster dans le forum C#.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

courbiff
Nouveau membre
Inscrit : 29/08/2007
Messages : 12
Message
#141941
Posté le 29/08/07 à 14:07
Bah dans "ta petite aide" il parle d'encoder en utf8 avec notepad + jusque la tout va bien je passe donc de ANSI à UTF8 mais lors de l'import du fichier dans debian (mysql - u -p [nom de ma base ] < [localisation_du_fichier] la ca me crash une erreur (ERROR 1064) incriminant mes commentaires dans mon code.

Apres je vois vraiment pas ce que tu veut dire par phpmyadmin ... Smiley si tu peut m'en dire plus ..

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Czayfaboo
Co-Administrateur
Superviseur :
- Langages Dot.
Modérateur :
- CSharp (C#)
Chef de projet(s) :
- ID3.NET Library
- MoteurProg Work.

Avatar de Czayfaboo
Inscrit : 05/01/2005
Messages : 2876
Message
#141942
Posté le 29/08/07 à 14:12
Non, l'idée c'est de passer de UTF-8 à AINSI : voici la requete que tu peux faire dans phpMyAdmin :


UPDATE mytable SET monchamp = 'été';


Faut que tu remplaces mytable et monchamp bien sûr... le mot qui s'affiche de manière bizarre c'est le mot été encodé en utf-8 et affiché en iso-8859-1...

Test çà..
__________________________
Sujet résolu ? Pensez à mettre le tag Image
Un problème en C# ? Vérifiez celui-ci n'est pas déjà résolu dans la FAQ et que le sujet n'est pas traité parmis les tutoriaux ou les articles avant de poster dans le forum C#.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 
POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

PREMIERE PAGE

PAGE PRECEDENTE Page précédente

Page suivante

PAGE SUIVANTE DERNIERE PAGE

FORUM MYSQL



    PAGES : [1] [2]



.: Site Web développé par Julien Pichot et l'équipe MPWG avec www.evolvia-web.com :.