Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/06/2011, 14h34   #1
Membre habitué
 
Homme
Développeur Web
Inscription : mars 2007
Messages : 112
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 : 112
Points : 110
Points : 110
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 :
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
yasen77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2011, 14h35   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
en mysql c'est UTF8 pas UTF-8
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2011, 14h42   #3
Membre habitué
 
Homme
Développeur Web
Inscription : mars 2007
Messages : 112
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 : 112
Points : 110
Points : 110
Oui, effectivement.
dans le code, il est bien taper. c'est pour cela que je ne comprend pas se problème d'encodage.
yasen77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2011, 15h14   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
'ton serveur envoie bien la page en utf-8 ? (firefox -> clique droit -> informations sur la page -> Encodage)
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2011, 15h31   #5
Membre habitué
 
Homme
Développeur Web
Inscription : mars 2007
Messages : 112
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 : 112
Points : 110
Points : 110
oui, et php.ini est configurer avec
Code :
1
2
 
default_charset = "utf-8"
yasen77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2011, 16h03   #6
Nouveau Membre du Club
 
Inscription : octobre 2007
Messages : 34
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 34
Points : 31
Points : 31
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 :
    <?php header('Content-Type: text/html; Charset=iso-89.....');?>

Cdlt.
cycyand1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2011, 16h16   #7
Membre Expert
 
Avatar de zeyr2mejetrem
 
Homme
Ingénieur développement logiciels
Inscription : novembre 2010
Messages : 401
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : novembre 2010
Messages : 401
Points : 1 641
Points : 1 641
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.
__________________
Si tu ne sais pas faire, apprends. Si tu fais, fais bien. Si tu sais bien faire, enseigne.
Mieux vaut paraître stupide quelques temps que rester stupide toute sa vie.
zeyr2mejetrem est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 20/06/2011, 17h02   #8
Membre habitué
 
Homme
Développeur Web
Inscription : mars 2007
Messages : 112
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 : 112
Points : 110
Points : 110
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.
yasen77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2011, 17h12   #9
Membre Expert
 
Avatar de zeyr2mejetrem
 
Homme
Ingénieur développement logiciels
Inscription : novembre 2010
Messages : 401
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : novembre 2010
Messages : 401
Points : 1 641
Points : 1 641
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 ?)
__________________
Si tu ne sais pas faire, apprends. Si tu fais, fais bien. Si tu sais bien faire, enseigne.
Mieux vaut paraître stupide quelques temps que rester stupide toute sa vie.
zeyr2mejetrem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2011, 17h23   #10
Membre habitué
 
Homme
Développeur Web
Inscription : mars 2007
Messages : 112
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 : 112
Points : 110
Points : 110
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.
yasen77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2011, 18h00   #11
Membre Expert
 
Avatar de zeyr2mejetrem
 
Homme
Ingénieur développement logiciels
Inscription : novembre 2010
Messages : 401
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : novembre 2010
Messages : 401
Points : 1 641
Points : 1 641
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
__________________
Si tu ne sais pas faire, apprends. Si tu fais, fais bien. Si tu sais bien faire, enseigne.
Mieux vaut paraître stupide quelques temps que rester stupide toute sa vie.
zeyr2mejetrem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 14h09   #12
Membre habitué
 
Homme
Développeur Web
Inscription : mars 2007
Messages : 112
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 : 112
Points : 110
Points : 110
appel un exorciste.

voici du code supplémentaire au cas ou.

la fonction ajax :

Code :
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 :
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é
yasen77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 14h36   #13
Membre Expert
 
Avatar de zeyr2mejetrem
 
Homme
Ingénieur développement logiciels
Inscription : novembre 2010
Messages : 401
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : novembre 2010
Messages : 401
Points : 1 641
Points : 1 641
Dans ta fonction post_value($valeur), rajoute une clause du type

Code :
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);
};
__________________
Si tu ne sais pas faire, apprends. Si tu fais, fais bien. Si tu sais bien faire, enseigne.
Mieux vaut paraître stupide quelques temps que rester stupide toute sa vie.
zeyr2mejetrem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 15h13   #14
Membre habitué
 
Homme
Développeur Web
Inscription : mars 2007
Messages : 112
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 : 112
Points : 110
Points : 110
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.
yasen77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 15h32   #15
Membre Expert
 
Avatar de zeyr2mejetrem
 
Homme
Ingénieur développement logiciels
Inscription : novembre 2010
Messages : 401
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : novembre 2010
Messages : 401
Points : 1 641
Points : 1 641
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 ?
__________________
Si tu ne sais pas faire, apprends. Si tu fais, fais bien. Si tu sais bien faire, enseigne.
Mieux vaut paraître stupide quelques temps que rester stupide toute sa vie.
zeyr2mejetrem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 16h18   #16
Membre habitué
 
Homme
Développeur Web
Inscription : mars 2007
Messages : 112
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 : 112
Points : 110
Points : 110
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
yasen77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 16h54   #17
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
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 ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 17h07   #18
Membre Expert
 
Avatar de zeyr2mejetrem
 
Homme
Ingénieur développement logiciels
Inscription : novembre 2010
Messages : 401
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : novembre 2010
Messages : 401
Points : 1 641
Points : 1 641
Citation du manuel PHP
Citation:
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 :
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
__________________
Si tu ne sais pas faire, apprends. Si tu fais, fais bien. Si tu sais bien faire, enseigne.
Mieux vaut paraître stupide quelques temps que rester stupide toute sa vie.
zeyr2mejetrem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 17h19   #19
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
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
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 17h27   #20
Membre Expert
 
Avatar de zeyr2mejetrem
 
Homme
Ingénieur développement logiciels
Inscription : novembre 2010
Messages : 401
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : novembre 2010
Messages : 401
Points : 1 641
Points : 1 641
Citation:
ç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.
Citation:
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)

Citation:
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 !
__________________
Si tu ne sais pas faire, apprends. Si tu fais, fais bien. Si tu sais bien faire, enseigne.
Mieux vaut paraître stupide quelques temps que rester stupide toute sa vie.
zeyr2mejetrem est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h30.


 
 
 
 
Partenaires

Hébergement Web