IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Procédural MySQL Discussion :

Encodage de caractère. . . encore


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    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 : 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>
    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 : 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/
    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

  2. #2
    Membre Expert
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Par défaut
    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 :-(

Discussions similaires

  1. Encore un problème d'encodage de caractéres
    Par Memelo dans le forum Administration
    Réponses: 0
    Dernier message: 07/10/2010, 10h53
  2. Encodage de caractères .. encore !
    Par bebR31 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 29/10/2007, 12h04
  3. Réponses: 15
    Dernier message: 24/02/2006, 14h17
  4. [FLASH 8] Encodage de caractères...
    Par Xdrei dans le forum Flash
    Réponses: 1
    Dernier message: 24/02/2006, 07h44
  5. encodage de caractères
    Par hugo123 dans le forum Langage
    Réponses: 7
    Dernier message: 25/01/2006, 15h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo