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

PHP & Base de données Discussion :

Jeux de caractères entre PHP et Mysql [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2008
    Messages : 46
    Par défaut Jeux de caractères entre PHP et Mysql
    Bonjour,

    J'ai un problème de jeux de caractère lorsque je souhaite envoyer des données saisies dans un TextArea vers ma Base Mysql.

    Coté mysql mon champ a comme Interclassement : latin1_swedish_ci.
    Coté Html ma page affiche le jeu de caractère :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
    Les infos stocker dans la base de données ne sont pas reconnu. Je saisi "Tést" et J'obtiens "tést".

    J'ai lu que l'on pouvais forcer Mysql a décoder un jeu de charactere avec la requète suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SET NAMES jeu_de_caracteres
    Mais rien n'y fait je ne trouve pas dans la liste iso-8859-1.

    Quelqu'un peux t'il m'aider à comprendre ?

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    L'interclassement n'entre pas en jeu dans le stockage des données.

    Pour le SET NAMES, utilise LATIN1 mais vérifie egalement dans quel format son ecrits tes fichiers PHP.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2008
    Messages : 46
    Par défaut
    Ah ok,

    J'ai mis LATIN1 et la requête s'exécute bien mais n'apporte pas le résultat escompté, j'ai toujours mes lettres accentuées non reconnu.

    Coté Editeur j'utilise Netbeans pour modifier mes fichiers PHP avec un encodage iso-8859-1.

    Y a t'il autre chose qui peut poser problème ?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ce que tu nous montres doit etre de l'UTF8 affiché dans une page ANSI, donc tu as un element qui n'est pas bon dans les 3 (page HTML, connexion mysql, fichier PHP)
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2008
    Messages : 46
    Par défaut
    Donc faut que je trouve lequel des 3 est en Utf8.

    - La page HTML : Le code suivant devrait me garantir que j'ai bien de l' iso-8859-1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
    - Fichier PHP : Je viens de modifier ma configuration de Netbeans pour passer mon projet en UTF8 et tous le source est rempli de symbole comme ceux de la base de donnée. Je peux donc penser raisonnablement que je n'etais pas en Utf-8 et que les informations qu'il me donne sont bonne.

    - La base de donnée : La c'est plus obscure pour moi. Comment etre sur que ma connexion à la base de donnée utilise bien le bon encodage. Apparement SET NAMES en LATIN1 ne suffit pas. Y a t'il autre chose a configurer dans le code ou dans la base en elle même ?

    Je ne sais pas si ca a un intéret mais dans mon php.ini j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ; PHP's built-in default is text/html
    default_mimetype = "text/html"
    ;default_charset = "iso-8859-1"
    Sinon derniere question qu'entend tu par page ANSI ??

    En te remerciant

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Je viens de modifier ma configuration de Netbeans pour passer mon projet en UTF8 et tous le source est rempli de symbole comme ceux de la base de donnée
    Ca semblerait indiquer que tes fichiers PHP sont en UTF8.
    sous windows tu peux utiliser notepad++ pour voir et convertir tes encodages.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] problème entre php et MySql
    Par n0unours dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 08/05/2007, 09h46
  2. probleme entre php et mysql
    Par jsdar dans le forum Installation
    Réponses: 3
    Dernier message: 09/03/2007, 22h32
  3. Problème entre php et mysql
    Par kornmuse90 dans le forum Apache
    Réponses: 17
    Dernier message: 24/04/2006, 15h52
  4. Problème entre PHP et MySQL
    Par kornmuse90 dans le forum Installation
    Réponses: 12
    Dernier message: 19/04/2006, 18h37

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