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 :
Donc on voit bien que dans le fichier le Ä est correctement écrit. En tout cas il à l'air.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>
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 :
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...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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/
... 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
Partager