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 sur IE


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Avatar de Nowwis
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2009
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2009
    Messages : 406
    Par défaut Problème encodage sur IE
    Bonjour à tous,

    J'aimerais avoir si possible une explication sur l'encodage parce que je suis complétement pommé...

    Base, Table, encodage du HTML, du navigateur...

    Très difficile à mettre en pratique.

    Ma base : utf8_general_ci
    Mes tables : certaines en latin1_swedish_ci et d'autre en utf8_general_ci
    Mon encodage de page sous Dreamweaver : Europe Centrale (ISO)
    Mon navigateur : Occident ISO-8859-1 quand on se trouve sur le site.

    Quand je lance l'ajax avec JQuery : xhr.overrideMimeType('text/html; charset=ISO-8859-1');

    J'aimerais éviter d'utiliser des utf8_encode ou des choses dans le genre, j'aimerais savoir comment faire en sorte que tout soit adéquat (mon site n'était pas encore lancé et en créant souvent, ça me sera utile).

    Merci d'avance.

  2. #2
    Membre éclairé
    Homme Profil pro
    Première S
    Inscrit en
    Juillet 2010
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Première S

    Informations forums :
    Inscription : Juillet 2010
    Messages : 266
    Par défaut
    tu tombes bien, je crois voir eu tous les pb possibles et imaginable en la matière.
    En effet, MySQL n'est pas clair pour ça, la base en général est en utf_8 ... mais pas les tables etc.

    Le tout est que la base en générale soit en utf_8.
    Pour JQuery, je rappelle que le transfert se fait en utf-8 (format JSON).

    Es-ce que tu pourrais nous montrer :

    - l'en-tête de ta page html (<head></head>).
    - le code de connexion à la base de données (sans les identifiants bien-sûr )
    - .... et si tu est sous notepad++, regarde ce qui est coché dans le menu "Encodage".

    Attention, ne touche à rien dans ce MENU ! En fait, si il est encodé en ISO, il ne faut surtout pas cliquer sur "Encoder en utf-8", parce que ça va te faire plein de caractère illisibles, et c'est irrécupérable. donc un conseil, fait une sauvegarde avant !

    Si l'encodage n'est pas en "utf-8 (sans BOOM)", il faut cliquer sur "convertir en utf-8 (sans BOOM)", mais pas sur "Encoder en utf-8 (sans BOOM)".

    la différence est catastrophique

  3. #3
    Membre très actif
    Avatar de Nowwis
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2009
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2009
    Messages : 406
    Par défaut
    Voici mon head
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
            <title><?php echo $meta_page_titre; ?></title>
            <meta name="description" content="<?php echo $meta_description; ?>" />
            <meta name="keywords" content="<?php echo $meta_motcle; ?>" />
            <meta name="copyright" content="" />
            <meta name="language" content="fr" />
            <meta name="revist-after" content="7 days" />
            <meta name="distribution" content="global" />
            <meta name="robots" content="ALL" />
    Mon script de connexion :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $connexion = mysql_pconnect($db_host,$db_user,$db_password);
    $select_base= mysql_select_db($db_base,$connexion);
    Je code sur Dreamweaver et l'encodage est : Europe Occidentale (ISO)

  4. #4
    Membre éclairé
    Homme Profil pro
    Première S
    Inscrit en
    Juillet 2010
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Première S

    Informations forums :
    Inscription : Juillet 2010
    Messages : 266
    Par défaut
    plus étonnant que ça va pas
    je t'ai expliqué la manipe pour notepad++, mais je ne connais pas Dreamweaver ... tu devrais trouver avec quelques recherches.

    pour le document html, remplace

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    Dans ton code de connexion, rajoute à la fin :

    mysql_query("set names 'utf8'");
    (set names 'utf8' est une requête comme les autres.)

    voilà, avec ça ça devrait aller.
    un lien qui pourrait t'aider :
    http://j-willette.developpez.com/tut...-en-utf8/#LIII

    la manipe y est expliquée pour Dreamweaver

    bon courage.

  5. #5
    Membre très actif
    Avatar de Nowwis
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2009
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2009
    Messages : 406
    Par défaut
    Merci beaucoup je vais regarder ça de plus près

  6. #6
    Membre éclairé
    Homme Profil pro
    Première S
    Inscrit en
    Juillet 2010
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Première S

    Informations forums :
    Inscription : Juillet 2010
    Messages : 266
    Par défaut
    normalement, pas besoin de mettre la fonction header dans chaque page php.
    si le problème persiste avec la base de donnés, le meilleure moyen est de l'exporter complètement, de copier le code produit dans un éditeur, puis avec cette éditeur convertir en utf-8, puis de réimporté la page ... mais on a normalement pas besoin d'aller si loin.
    bon courage.

    NB

    les cas "compliqués", c'est quand on récupère du texte venant d'autres sites avec des encodages différents
    j'ai été obligé de le faire pour un boot de recherche, il faut détecter quelle encodage c'est etc.

    à bientôt.

Discussions similaires

  1. Problème d'encodage sur un réseau intranet
    Par openeyes dans le forum Développement Web avec .NET
    Réponses: 1
    Dernier message: 02/02/2011, 16h09
  2. Problème d'encodage sur différents serveurs
    Par JEDI_BC dans le forum Langage
    Réponses: 3
    Dernier message: 29/06/2007, 15h47
  3. [1.1][C#]Problème encodage sur body du mailto
    Par suedey dans le forum ASP.NET
    Réponses: 2
    Dernier message: 05/01/2007, 13h57
  4. Réponses: 4
    Dernier message: 28/09/2006, 20h20
  5. Problème d'encodage sur MySql 4.1
    Par Blanchet dans le forum Outils
    Réponses: 1
    Dernier message: 04/12/2005, 04h53

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