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 :

Problème encodage PHP/MySQL [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 194
    Points : 200
    Points
    200
    Par défaut Problème encodage PHP/MySQL
    Bonjour,

    J'ai un petit problème d'encodage entre PHP et MySQL.
    Dans une class, j'ai ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $qET = "SELECT `tb_factures`.*, "
                        ."`tb_juridiction`.`jur_code` AS '£fac_arrondissement', "
                        ."`tb_statuts`.`statuts_libelle` AS '£fac_statut' "
                        ."FROM `tb_factures` "
                        ."LEFT JOIN `tb_juridiction` ON `tb_juridiction`.`jur_id`= "
                        ."`tb_factures`.`fac_arrondissement` "
                        ."LEFT JOIN `tb_statuts` ON `tb_statuts`.`statuts_id` = "
                        ."`tb_factures`.`fac_statut` "
                        ."WHERE `tb_factures`.`fac_id` = $idFact";
    et lors de la réponse de retour, il encode le £ en Ä£.
    Tous les fichiers sont en UTF-8 sans BOM, la base et en UTF-8 et j'ai même ajouter un SET NAMES UTF-8.

    Lorsque je test se SELECT directement sous MySQL, cela fonctionne très bien. petite précision, cette classe est appelé en ajax.

    Merci d'avance

    Yasen77

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    en mysql c'est UTF8 pas UTF-8

  3. #3
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 194
    Points : 200
    Points
    200
    Par défaut
    Oui, effectivement.
    dans le code, il est bien taper. c'est pour cela que je ne comprend pas se problème d'encodage.

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    'ton serveur envoie bien la page en utf-8 ? (firefox -> clique droit -> informations sur la page -> Encodage)

  5. #5
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 194
    Points : 200
    Points
    200
    Par défaut
    oui, et php.ini est configurer avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    default_charset = "utf-8"

  6. #6
    Nouveau membre du Club
    Inscrit en
    Octobre 2007
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 35
    Points : 37
    Points
    37
    Par défaut
    Bonjour yasen77,

    Vérifie encore 2 choses :
    1. si tu n'as pas un "encode_utf8" ou "decode_utf8" par hasard dans ton code
    2. et le header de la page :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      <?php header('Content-Type: text/html; Charset=iso-89.....');?>


    Cdlt.

  7. #7
    Membre chevronné Avatar de zeyr2mejetrem
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Novembre 2010
    Messages
    471
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 471
    Points : 2 041
    Points
    2 041
    Par défaut
    Bonjour.

    Une chose est à savoir.
    En PHP, nombre de fonction renvoient par défaut de l'ISO.
    Par conséquent il est souvent nécessaire de traiter l'encodage des résultats de tes traitements via la fonction utf8_encode ou mb_convert_encoding.

    C'est très casse-... et devrait (j'espère) être réglé avec PHP 6 qui utilisera l'UTF8 en natif.

  8. #8
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 194
    Points : 200
    Points
    200
    Par défaut
    J'ai tester utf8_encode et utf8_decode, et ça résout mon problème en partie.
    Le problème et que cela me génère le problème à un autre endroit qui utilise cette requête aussi.

    en gros, sans utilisé UTF8_decode ou utf8_encode, lorsque j'utilise cette requête dans ma page courante, aucun problème, lorsque j'utilise cette requête en asynchrone avec ajax, le problème d'encodage apparait et provoque l'erreur.

    Le Header ne change rien.

  9. #9
    Membre chevronné Avatar de zeyr2mejetrem
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Novembre 2010
    Messages
    471
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 471
    Points : 2 041
    Points
    2 041
    Par défaut
    Citation Envoyé par yasen77 Voir le message
    J'ai tester utf8_encode et utf8_decode, et ça résout mon problème en partie.
    Le problème et que cela me génère le problème à un autre endroit qui utilise cette requête aussi.

    en gros, sans utilisé UTF8_decode ou utf8_encode, lorsque j'utilise cette requête dans ma page courante, aucun problème, lorsque j'utilise cette requête en asynchrone avec ajax, le problème d'encodage apparait et provoque l'erreur.

    Le Header ne change rien.
    Pour ton appel Ajax, est ce que tu encode ta réponse (en HTML Entities, en URLEncode ou en JSONEncode ?)

  10. #10
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 194
    Points : 200
    Points
    200
    Par défaut
    c'est la ou ça devient tordu, en réponse de retour, je n'est qu'un chiffre, 1 si c'est OK, 2 si c'est pas bon. Donc pas besoin d'encodage.
    Pour voir d’où venais le problème, j'ai utilisé le débogueur de netbeans avec xdebug.

  11. #11
    Membre chevronné Avatar de zeyr2mejetrem
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Novembre 2010
    Messages
    471
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 471
    Points : 2 041
    Points
    2 041
    Par défaut
    Citation Envoyé par yasen77 Voir le message
    c'est la ou ça devient tordu, en réponse de retour, je n'est qu'un chiffre, 1 si c'est OK, 2 si c'est pas bon. Donc pas besoin d'encodage.
    Pour voir d’où venais le problème, j'ai utilisé le débogueur de netbeans avec xdebug.
    OK. Sinon, tes paramètres d'appel ont quelle forme ? Si tu me dis que ce sont tous des entiers avec des noms alphanumériques purs, j'appelle un exorciste

  12. #12
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 194
    Points : 200
    Points
    200
    Par défaut
    appel un exorciste.

    voici du code supplémentaire au cas ou.

    la fonction ajax :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
    function sauve_ejcomplet(action_post_sauve, id_next, noctrl)
    {
        getXhr(); 
        xhr.onreadystatechange = function() { 
            if(xhr.readyState == 4 && xhr.status == 200) {            
                res = xhr.responseText;
     
                if (res == 1) {
                    win.getContent().innerHTML = "Facture sauvegardee !"
                    if (action_post_sauve == "next") {
                        // mouvement vers la facture suivante dans la liste
                        setTimeout("win.close();refreshIt('content','mod/mod_body/gest_factures_ouvre_facture.php?id=" + id_next + "')", 2000);
                    } else {
                        // rechargement obligatoire de la page ! (pour les nums de postes nouveaux crees, si chgt de statut
                        id_fac = document.getElementById("id_fac_ec").value;
                        setTimeout("win.close();refreshIt('content','mod/mod_body/gest_factures_ouvre_facture.php?id=" + id_fac + "')", 2000);
                    }
                } else if (res == 3) {
                    win.getContent().innerHTML = "Certains champs obligatoires n'ont pas ete renseignes ou sont en erreur. La facture n'a pas pu etre enregistree."
                    setTimeout("win.close()", 2000);
                } else {
                    win.getContent().innerHTML = "Une erreur est survenue, l'enregistrement de la facture a echoue." + xhr.responseText;
                    setTimeout("win.close()", 2000);
                }
     
            }
        }
     
        // recuperation de toutes les donnees pour post
        var f = document.getElementById( 'fac_form' ); 
        fac_data = '';
     
        for( var i = 0; i < f.elements.length; i++ ) {
            if (f.elements[i].name == "fac_mhm") {
                var m_hm = document.fac_form.fac_mhm;
     
                valeur = "";
                for (var j=0; j < m_hm.length; j++) {
                    if (m_hm[j].checked)
                    {
                        valeur = m_hm[j].value;
                        break;
                    }
                }
                fac_data += "fac_mhm=" + valeur+ '&';  
            } else {
                fac_data += f.elements[i].name + '=' + f.elements[i].value + '&';    
            }
        }
     
        fac_data += 'fac_statut=' + document.getElementById('fac_statut').value+ '&';
        fac_data += 'noctrl=' + noctrl;
     
        xhr.open("POST","mod/mod_action/gest_factures_sauve_ejcomplet.php");
        xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    	xhr.send(fac_data); 
    }
    le fichier d'enregistrement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    require_once '../../plugin/pg_factures/init.php';
    
    $fac = new FactureComplete(post_value('fac_id'), uti_id());
    
    // champs d en-tete
    $fac->fac_arrondissement = post_value('fac_arrondissement');
    $fac->fac_date_depot = post_value('fac_date_depot');
    $fac->fac_fournisseur = post_value('fac_fournisseur');
    $fac->fac_num = post_value('fac_num');
    $fac->fac_date_facture = post_value('fac_date_facture');
    $fac->fac_date_echeance = post_value('fac_date_echeance');
    $fac->fac_montant_ht = post_value('fac_montant_ht');
    $fac->fac_montant_ttc = post_value('fac_montant_ttc');
    $fac->fac_mhm = post_value('fac_mhm');
    $fac->fac_ma_num = post_value('fac_ma_num');
    $fac->fac_num_ej_chorus = post_value('fac_num_ej_chorus');
    $fac->fac_num_bdc = post_value('fac_num_bdc');
    $fac->fac_statut = post_value('fac_statut');
    $fac->fac_priorite = post_value('fac_priorite');
    $fac->fac_sf_observations = post_value('fac_sf_observations');
    $fac->fac_flux = post_value('fac_flux');
    $fac->fac_date_prise_en_charge = post_value('fac_date_prise_en_charge');
    $fac->fac_observations = post_value('fac_observations');
    $fac->fac_observations_pole = post_value('fac_observations_pole');
    $fac->fac_num_dp = post_value('fac_num_dp');
    $fac->fac_date_dp = post_value('fac_date_dp');
    
    function update_postes($lp)
    {
        global $fac;
        $fac->{"facp_id|$lp"} = $lp;
        $fac->{"facp_rap_eng|$lp"} = post_value("facp_rap_eng$lp");
        $fac->{"facp_montant_ht|$lp"} = post_value("facp_montant_ht$lp");
        $fac->{"facp_cc|$lp"} = post_value("facp_cc$lp");
        $fac->{"facp_activite|$lp"} = post_value("facp_activite$lp");
        $fac->{"facp_cf|$lp"} = post_value("facp_cf$lp");
        $fac->{"facp_df|$lp"} = post_value("facp_df$lp");
        $fac->{"facp_cp_gm|$lp"} = post_value("facp_cp_gm$lp");
        $fac->{"facp_pce|$lp"} = post_value("facp_pce$lp");
        $fac->{"facp_rc_rr|$lp"} = post_value("facp_rc_rr$lp");
        $fac->{"facp_axe_min1|$lp"} = post_value("facp_axe_min1$lp");
        $fac->{"facp_axe_min2|$lp"} = post_value("facp_axe_min2$lp");    
    }
    
    $nb_postes_deja_existants = post_value('nb_postes_deja_existants');
    $nb_nvx_postes = post_value('nb_nvx_postes');
    $nvx_postes = post_value('nvx_postes');
    $postes_deja_existants = post_value('postes_deja_existants');
    
    // mise a jour des lignes existantes
    if ($postes_deja_existants <> "") {
        if ($nb_postes_deja_existants == 1) {
            $pde[0] = $postes_deja_existants;
        } else {
            $pde = explode('-', $postes_deja_existants);
        }
        foreach ($pde as $i => $lp) {
            $lp_postee = post_value("lp_$lp");
            if (!$lp_postee) {
                $fac->supprimePoste($lp);
            } else {
                update_postes($lp);
            }
        }
    }
    // ajout des nouvelles lignes
    if ($nvx_postes <> "") {
        if ($nb_nvx_postes == 1) {
            $nvp[0] = $nvx_postes;
        } else {
            $nvp = explode('-', $nvx_postes);
        }
        foreach ($nvp as $i => $lp) {
            $lp = "_nv" . right("0000000" . $lp, 7);
            $lp_postee = post_value("lp_$lp");
            if (!$lp_postee) {
                // ie : la ligne a été supprimée entre temps, ne rien faire
            } else {
                update_postes($lp);
            }
        }
    }
    
    $noctrl = post_value('noctrl');
    
    if ($fac->fac_statut != 6) {
        $noctrl = 1;
    }
    
    $controle = ($noctrl == 1) ? false : true;
    
    if ($controle && !$fac->champsComplets()) {
        echo INCOMPLET;
        exit; // arret immediat du script @TODO: renvoyer valeurs en erreur ?
    }
    
    echo $fac->enregistre(); // C'est ici que la classe avec la requete est appelé

  13. #13
    Membre chevronné Avatar de zeyr2mejetrem
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Novembre 2010
    Messages
    471
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 471
    Points : 2 041
    Points
    2 041
    Par défaut
    Dans ta fonction post_value($valeur), rajoute une clause du type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    // Si l encodage n est pas strictement UTF-8
    if( !mb_check_encoding($valeur, 'UTF-8') ){
      // On convertit
      $valeur2 = mb_convert_encoding ( $valeur, 'UTF-8' );
      // ici, une petit ligne de log pour signifier le changement d'encodage
      $logger->debug("Encodage passé de "+mb_detect_encoding($valeur)+"  [$valeur] à UTF-8 [$valeur2]");
      $valeur=$valeur2;
      unset($valeur2);
    };

  14. #14
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 194
    Points : 200
    Points
    200
    Par défaut
    Aucun changement, le problème n'apparait pas sur les valeurs poster mais sur le retour de la requête sql, en effet dans la requête SELECT, on génère 2 champs supplémentaire virtuel qui commence avec le caractère £ et c'est se caractère qui pose problème.

  15. #15
    Membre chevronné Avatar de zeyr2mejetrem
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Novembre 2010
    Messages
    471
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 471
    Points : 2 041
    Points
    2 041
    Par défaut
    Citation Envoyé par yasen77 Voir le message
    Aucun changement, le problème n'apparait pas sur les valeurs poster mais sur le retour de la requête sql, en effet dans la requête SELECT, on génère 2 champs supplémentaire virtuel qui commence avec le caractère £ et c'est se caractère qui pose problème.
    Languochat
    Il est vrai que je n'ai pas pour habitude de mettre des caractères non ANSI comme noms de champs, fussent ils temporaires.

    Question bête: pourquoi ne redresse tu pas les noms avec la clause que je t'ai donné ci-dessus à la sortie de ta classe SQL ?

  16. #16
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 194
    Points : 200
    Points
    200
    Par défaut
    Vu les délai de contrainte, je suis dans l'obligation de tout passé en ISO-8859-1. On sait que ça fonctionne dans cette encodage.

    Merci beaucoup pour vos aident.

    PS: je testerai au passage à PHP6

  17. #17
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    Citation Envoyé par zeyr2mejetrem Voir le message
    Bonjour.

    Une chose est à savoir.
    En PHP, nombre de fonction renvoient par défaut de l'ISO.
    ah lesquelles ?

  18. #18
    Membre chevronné Avatar de zeyr2mejetrem
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Novembre 2010
    Messages
    471
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 471
    Points : 2 041
    Points
    2 041
    Par défaut
    Citation du manuel PHP
    Comme htmlspecialchars(), cette fonction [nota: htmlentities] prend un troisième argument optionnel charset qui définit le jeu de caractères utilisé durant la conversion. Actuellement, le jeu de caractères ISO-8859-1 est utilisé par défaut.
    et ce quelquesoit l'encodage que tu as spécifié en global
    Du coup après tu ne te fais plus avoir et tu précises toujours ton encodage comme paramètre de la fonction.

    Exemple marrant en PHP 5.3.3:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $testString = "jérémy"; // en ISO-8859-1
    $testHtmlString = htmlentities($testString); // donne j&eacute,r&eacute;my
    $testString2 = html_entity_decode($testHtmlString); 
    echo($testString2); // donne jérémy
    Car l'encodage par défaut d'htmlentities et de sa fonction inverse ne sont pas les mêmes

    Vivement le passage en tout UTF-8

  19. #19
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    c'est normale ça, et ça n'a rien a voir avec la prise en compte de l'UTF-8 dans le PHP 6 (qui n’existe pas d’ailleurs), ca sera pour les fonction str_*, et la gestion interne des strings (ex : $str[4])

    et avec ton exemple (avec un conf full utf-8) j'ai bien jérémy qui s'affiche

    Apres je suis d'accord avec toi sur le fait que si une fonction accepte l'utf-8 quelle puisse le gérer par défaut

  20. #20
    Membre chevronné Avatar de zeyr2mejetrem
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Novembre 2010
    Messages
    471
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 471
    Points : 2 041
    Points
    2 041
    Par défaut
    ça n'a rien a voir avec la prise en compte de l'UTF-8 dans le PHP 6 (qui n’existe pas d’ailleurs)
    D'où mon utilisation du futur de l'indicatif (hélas)
    Citation Envoyé par zeyr2mejetrem Voir le message
    Bonjour.
    avec PHP 6 qui utilisera l'UTF8 en natif.
    et avec ton exemple (avec un conf full utf-8) j'ai bien jérémy qui s'affiche
    Etonnant si tu es bien en PHP 5.3.3+
    (En effet, si t'es en version inférieure les encodages sont cohérents et sont tous deux ISO donc pas de problème)

    Apres je suis d'accord avec toi sur le fait que si une fonction accepte l'utf-8 quelle puisse le gérer par défaut
    Amen !

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Problème encodage PHP et MySQL
    Par neo18045 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 26/12/2012, 21h09
  2. Problème Flash /PHP/ MySQL
    Par admnico dans le forum Dynamique
    Réponses: 1
    Dernier message: 14/02/2008, 14h23
  3. [MySQL] problème date php/mysql : 0000-00-00 00:00:00
    Par ths_otraa dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 13/02/2008, 13h09
  4. [MySQL] Problème avec php/mysql, variables du même nom
    Par Naxosy dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 13/01/2008, 16h31
  5. [MySQL] Problème Accent PHP + MySQL
    Par ganjaaw dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 08/08/2007, 23h10

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