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

Ext JS / Sencha Discussion :

Accents avec ExtJS


Sujet :

Ext JS / Sencha

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 258
    Par défaut Accents avec ExtJS
    Bonjour,

    J'utilise ExtJS 3.X et j'ai un FormPanel sur une page web codée UTF-8.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    Ce formPanel me permet de lire et créer des enregistrements d'une table MySQL codée utf8_unicode_ci.
    La base elle-même est en interclassement utf8_unicode_ci.
    J'arrive à enregistrer des champs avec des accents et à les relire, mais dans la base, les caractères accentués éèàç, par exemple, apparaissent remplacés par des signes tels çôûî.
    Ce ne serait pas dramatique, puisque la relecture se fait correctement à travers ExtJS, si je n'utilisais pas cette même base avec une autre application écrite en C++, et là, les caractères mal encodés sont particuliérement gênants, voire rendent l'application inutilisable.
    Par conséquent, que faut-il faire pour que ExtJS encode les caratères correctement avant transmission à la base et stockage dans celle-ci ?

    D'avance merci.

    Kim

  2. #2
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    qu'est-ce que tu appelle à la relecture ??

    avec quoi le lis tu ?
    si le soft que tu utilise n'est pas UTF-8 tu dois voir le code UTF-8 du caractère et non le caractère lui-même

    A+JYT

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 258
    Par défaut Pb accent avec ExtJs
    Merci sekaijin pour ta contribution.
    Dans ma page web (en UTF-8), j'ai un FormPanel. Par le bouton 'Save', j'exécute une requête Ajax qui me sauvegarde mes enregistrements. Avec les boutons 'suivant', 'précédent', 'premier', 'dernier' ou 'load', j'ai une autre requête Ajax qui me permet de relire les enregistrements, voire de les re-sauvegarder après modification.
    Tous cela semble très bien marcher, y compris avec les caractères accentués, sauf que lorsque j'examine ces enregistrements avec PhpMyAdmin, je constate la présence de caractères mal codés.
    Où ça se gâte vraiment, c'est que je dois accéder également à la même base avec une application, que j'ai écrite en C++ (avec QT), et là, ca devient inexploitable, car je retrouve les caractères mal codés. Je précise qu'avec l'appli C++, les caractères accentués apparaissent normalement dans la base (à travers phpMyAdmin), mais sont "vérolés" si je lis avec mon application Web.

    D'avance merci si tu as une idée.

    Kim

  4. #4
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    pour que phpMyAdmin décode correctement le UTF8 il faut le paramètrer il y a très longtemps que je ne l'utilise plus il faut voir la doc.

    quant à C++ ou QT c'est pareil ton API MyLib te permet de spécifier l'encodage de la base, des table des champs
    mais elle ne sait pas pour autant comment ton code C++ gère les caractère ISO UTF 8 16 32 CP EBDIC ...

    c'est donc à toi de faire le nécessaire lorsque tu lis ou écrit dans ta base.

    A+JYT

  5. #5
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 258
    Par défaut Pb accent avec ExtJS
    Bonjour,
    En fait, le problème semble bien venir de ExtJS.
    En effet, si je met, en "dur" dans mon code PHP des textes accentués, tout se passe bien à l'écriture : ils sont sont corrects à la relecture dans phpMyAdmin et dans mon application C++ (tous deux correctements paramètrés en utf-8). Par contre, à la relecture avec ExtJs, ils apparaissent mal codés.
    Tout se passe comme si ExtJS, au moment de la transmission des paramètres vers la requête Ajax les encodait suivant ????
    Si quelqu'un à une idée, merci d'avance.

    Kim

  6. #6
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    Php n'est pas utf-8
    Extjs Oui

    c'est donc toute ta chaine qu'il te faut voir

    ExtJs envoie de l'UTF8 à PHP
    qui ne le décode pas si tu ne le fais pas explicitement
    du coup les string son vu par Php comme de l'iso
    php le passe à la lib MySQL qui les prends en ISO les converti en UTF-8 pour les rendre compatible avec l'encodage de la base.

    OOPS c'était déjà de l'UTF8

    A+JYT

Discussions similaires

  1. Problème d'accent avec fgets
    Par d.w.d dans le forum Langage
    Réponses: 2
    Dernier message: 31/03/2006, 07h37
  2. [utf-8] problème d'accents avec gtk+
    Par over_score dans le forum Général Python
    Réponses: 3
    Dernier message: 14/12/2005, 01h43
  3. [C#] Problème accents avec HttpWebRequest
    Par aucean dans le forum C#
    Réponses: 2
    Dernier message: 03/12/2005, 14h40
  4. Problèmes d'accent avec une connexion ODBC et ADO
    Par michael.jacques dans le forum Bases de données
    Réponses: 3
    Dernier message: 10/03/2005, 15h36
  5. Ecrire caractère avec les accents avec vi ?
    Par sekiryou dans le forum Applications et environnements graphiques
    Réponses: 7
    Dernier message: 18/05/2004, 17h11

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