Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en 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 10/08/2006, 12h16   #1
Membre Expert
 
Inscription : juillet 2004
Messages : 1 033
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 1 033
Points : 1 050
Points : 1 050
Par défaut Encodage de caractère. . . encore

Bonjour,

Je sais que c'est un problème récurrent mais je suis un peu perdu.

En fait j'ai une appli qui reçoit des fichiers xml depuis un server as400 distant.
Les fichiers ont cette tête la :

Code :
1
2
3
4
5
6
7
<?xml version="1.0" encoding="ISO8859-1"?>
<Clients xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Clients.xsd">
<Client>
//je passe les détails
            <nom>JÄNISCH</nom>
//je passe les détails
</Client>
Donc on voit bien que dans le fichier le Ä est correctement écrit. En tout cas il à l'air.

Et bref, lorsque je lis ces données avec l'api xml de php puis que je fais l'insert dans ma base le caractères Ä se transforme en Ä.
Ce que je ne comprend pas très bien.
Je précise qu'au niveau du code, je n'applique aucune transformation sur l'encodage des caractères, pour le moment.

au niveau de mysql j'ai le résultat suivant :
Code :
1
2
3
4
5
6
7
8
SHOW VARIABLES LIKE '%char%'
character_set_client utf8 
character_set_connection utf8 
character_set_database latin1 
character_set_results utf8 
character_set_server latin1 
character_set_system utf8 
character_sets_dir /usr/share/mysql/charsets/
J'imagine qu'il y à plusieurs solutions pour régler ce problème et je pensais à faire un CONVERT au niveau de l'insert. Mais je ne sais pas quels jeux je dois choisir en entré, comme en sortie...
... CONVERT(_latin1'Müller' USING utf8);

_latin1 comme dans l'exemple ? utf8 quelque chose ?

Peut être avait vous une solution plus propre et plus efficace à me proposer ?

Encore désolé pour la redondance, mais les postes que j'ai trouvé n'était pas très clair :s

Merci par avance,

bbye
ePoX est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2006, 11h13   #2
Membre Expert
 
Inscription : juillet 2004
Messages : 1 033
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 1 033
Points : 1 050
Points : 1 050
Bon bah j'ai fini par trouver en appliquant un utf8_decode sur mes données à insérer. Mais je ne sais toujours pas si cela est la meilleure des solutions :-(
ePoX est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h37.


 
 
 
 
Partenaires

Hébergement Web