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

Langage PHP Discussion :

Problème encodage en UTF-8 entre IE et Firefox


Sujet :

Langage PHP

  1. #1
    Membre confirmé Avatar de Sayrus
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    899
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 899
    Points : 570
    Points
    570
    Par défaut Problème encodage en UTF-8 entre IE et Firefox
    Bonjour,

    Dans une admin je veux mettre à jour une db UTF8 et HTML UTF8.

    J'utilise la fonction suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function insertSQL($value)
    {
     
            return mysql_real_escape_string(utf8_decode(trim(strip_tags($value)));
     
    }
    Cette fonction marche très bien sur Firefox et sur Safari mais me donne des "?" sous IE.

    Si je modifie la fonction comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function insertSQL($value)
    {
     
    	return mysql_real_escape_string(trim(strip_tags($value));
     
    }
    Cette fonction marche très bien sous IE mais pas sous firefox où j'obtiens des caractères bizarres "é" pour un "é" par exemple.


    Que puis-je faire pour remédier à mon problème et avoir une fonction correcte pour tous les navigateurs?

    Merci

  2. #2
    Membre confirmé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Points : 503
    Points
    503
    Par défaut
    Tu peux faire la distinction entre navigateur comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    if (ereg("MSIE ", $_SERVER["HTTP_USER_AGENT"])) {
    ......
    } else if (ereg("Firefox", $_SERVER["HTTP_USER_AGENT"])) {
    .....
    }

  3. #3
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Est-ce que tu as bien défini l'encodage de ta page dans les en têtes HTML ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Membre confirmé Avatar de Sayrus
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    899
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 899
    Points : 570
    Points
    570
    Par défaut
    Je pense que mon encodage est bon:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
     
    <meta http-equiv="content-type" content="text/html charset=utf-8" />
    <meta http-equiv="content-language" content="fr" />

    Merci pour le code de détection du navigateur, je l'utiliserai si nécessaire mais je me demande si j'ai pas plutôt fait mal quelque chose...

    Ou alors c'est IE7 qui déconne ce n'est pas impossible non plus

  5. #5
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Est-ce que ton fichier est bien au format UTF8 egalement ? (tu peux verifier dans ton editeur, ou avec notepad++)
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre confirmé Avatar de Sayrus
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    899
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 899
    Points : 570
    Points
    570
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Est-ce que ton fichier est bien au format UTF8 egalement ? (tu peux verifier dans ton editeur, ou avec notepad++)
    En parlant de fichier, tu veux dire les fichiers php ? Si oui, je n'avais jamais porté attention à ceux-ci étant donné que toutes mes données sont automatiquement converties en UTF-8.

    Si je regarde avec dreamweaver, je ne sais pas où regarder pour l'encodage.

    Par contre si je regarde avec notepad++, il indique pour l'encodage ANSI.

    Si je dois switcher en UTF-8, je vais devoir faire la manip pour les centaines de fichiers PHP alors

  7. #7
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    D'ailleurs si tu veux de l'utf8, pourquoi tu fais un decode ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Membre confirmé Avatar de Sayrus
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    899
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 899
    Points : 570
    Points
    570
    Par défaut
    Citation Envoyé par sabotage Voir le message
    D'ailleurs si tu veux de l'utf8, pourquoi tu fais un decode ?
    Et bien parce que sinon ça ne fonctionne pas...

    Pourtant ma base de données est bien en utf8_general_ci ainsi que toutes les tables...

  9. #9
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Sayrus Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="content-type" content="text/html charset=utf-8" />
    De mémoire, il me semble que Internet Explorer a besoin du point-virgule après text/html

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    à vérifier.

  10. #10
    Membre confirmé Avatar de Sayrus
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    899
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 899
    Points : 570
    Points
    570
    Par défaut
    Un grand merci!

    Effectivement c'était bien le ";" qui posait problème! Bien vu!

    Merci à tous d'avoir passé du temps à trouver la solution, c'est cool!

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

Discussions similaires

  1. Problème Encodage Weblo 10 UTF-8
    Par meurwinn dans le forum Weblogic
    Réponses: 2
    Dernier message: 06/01/2009, 11h45
  2. problème d'encodage ISO /UTF
    Par CUCARACHA dans le forum ASP.NET
    Réponses: 9
    Dernier message: 09/04/2008, 18h48
  3. Réponses: 3
    Dernier message: 12/11/2007, 14h55
  4. Problème d'encodage en UTF-8
    Par navis84 dans le forum Langage
    Réponses: 5
    Dernier message: 29/08/2006, 11h19
  5. Problème d'affichage de liste entre IE et FireFox
    Par slideveloppeur2006 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 11/07/2006, 11h07

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