Utf8_encode
Résolu
arcadess
Messages postés
45
Date d'inscription
Statut
Membre
Dernière intervention
-
gryzzly Messages postés 4608 Date d'inscription Statut Contributeur Dernière intervention -
gryzzly Messages postés 4608 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai une bdd codée en utf8 et ma page web avec la norme ISO normal. Je veux afficher des données de ma base et donc si je ne veux pas que ca m'affiche par exemple SupportÃ@ ou un truc du genre, je utf8_decode($ma variable). J'obtiens donc Supporté! waouh !
Sauf que j'ai un formulaire pour modifier ce champ (un bouton radio si ca peut changer qq chose) et j'ai beau faire un utf8_encode, ca ne l'encode pas, en bref lorsque j'affiche pour voir comment ca se passe :
echo $support; // Ecrit Supporté
echo utf8_encode($support); // Ecrit encore Supporté au lieu de SupportÃ@
Voyez vous d'où peut venir le pb?
J'ai une bdd codée en utf8 et ma page web avec la norme ISO normal. Je veux afficher des données de ma base et donc si je ne veux pas que ca m'affiche par exemple SupportÃ@ ou un truc du genre, je utf8_decode($ma variable). J'obtiens donc Supporté! waouh !
Sauf que j'ai un formulaire pour modifier ce champ (un bouton radio si ca peut changer qq chose) et j'ai beau faire un utf8_encode, ca ne l'encode pas, en bref lorsque j'affiche pour voir comment ca se passe :
echo $support; // Ecrit Supporté
echo utf8_encode($support); // Ecrit encore Supporté au lieu de SupportÃ@
Voyez vous d'où peut venir le pb?
10 réponses
du fichier en lui même qui n'est pas encodé utf8 ?
de la transaction sql qui n'est pas utf8 ?
du charset manquant ?
de la transaction sql qui n'est pas utf8 ?
du charset manquant ?
Euh donc le charset c'est bon.
L'encodage du 'fichier en lui même' et de la 'transaction sql'... ca...
Donc pour toi c'est normal que qd on récupère un champ de la bdd :
echo $support // Affiche SupportÃ@
echo utf8_decode($support) // Affiche Supporté
et que ca ne marche pas dans l'autre sens?
Tu penses que ca vient de l'encodage du fichier ou de la transaction sql?
L'encodage du 'fichier en lui même' et de la 'transaction sql'... ca...
Donc pour toi c'est normal que qd on récupère un champ de la bdd :
echo $support // Affiche SupportÃ@
echo utf8_decode($support) // Affiche Supporté
et que ca ne marche pas dans l'autre sens?
Tu penses que ca vient de l'encodage du fichier ou de la transaction sql?
Si :
echo $support // Affiche SupportÃ@
alors y'a déjà eu un "probleme" lors de l'enregistrement dnas la base. SI tout se passait bien, tu devrais voir des caract_res "normaux" dans la base.
donc oui, je pense qy'il y'a un probleme de transaction ou d'encodage du fichier. (j'ai rencontré le problème récemment)
echo $support // Affiche SupportÃ@
alors y'a déjà eu un "probleme" lors de l'enregistrement dnas la base. SI tout se passait bien, tu devrais voir des caract_res "normaux" dans la base.
donc oui, je pense qy'il y'a un probleme de transaction ou d'encodage du fichier. (j'ai rencontré le problème récemment)
Mon pb s'est révélé lorsque j'ai changé ma bdd de serveur.
Lorsque je rentre mes données par l'interface que j'ai codée, pas de pb.
En l'occurrence, ici, j'ai renté mes données avec un script de création et du coup j'ai des soucis d'affichage.
Mes caractères (issus du script d'insertion) dans la base sont normaux, et ceux issus de mon formulaire sont de la forme Supporté.
Lorsque je rentre mes données par l'interface que j'ai codée, pas de pb.
En l'occurrence, ici, j'ai renté mes données avec un script de création et du coup j'ai des soucis d'affichage.
Mes caractères (issus du script d'insertion) dans la base sont normaux, et ceux issus de mon formulaire sont de la forme Supporté.
Bah si tu mélange tout ... enfin c'est jouable, mais c'est un peu hard à toujours encoder/decoder)
Pourquoi tu ne passes pas tout en utf8 ???
- enregistrer les fichiers en UTF-8 (à régler sur l'éditeur que tu utilises)
- BD en UTF-8 (à régler sur ton SGBD, penser à régler aussi le charset de la connexion = interclassement)
- encodage utf8 des forms
- charset('utf-8'); dans ton layout
je crois que j'ai rien oublié
Pourquoi tu ne passes pas tout en utf8 ???
- enregistrer les fichiers en UTF-8 (à régler sur l'éditeur que tu utilises)
- BD en UTF-8 (à régler sur ton SGBD, penser à régler aussi le charset de la connexion = interclassement)
- encodage utf8 des forms
- charset('utf-8'); dans ton layout
je crois que j'ai rien oublié
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
D'accord.
Donc j'ai tout mis en utf-8 (SGBD, charset, editeur). Les forms, je sais pas comment on fait :/
Et donc, du coup, j'ai des p'tis carrés pour les caratères accentués en html et pourtant, j'ai bien mis AddDefaultCharset utf-8 dans mon httpf.conf et au cas ou, ma meta en utf-8.
Donc j'ai tout mis en utf-8 (SGBD, charset, editeur). Les forms, je sais pas comment on fait :/
Et donc, du coup, j'ai des p'tis carrés pour les caratères accentués en html et pourtant, j'ai bien mis AddDefaultCharset utf-8 dans mon httpf.conf et au cas ou, ma meta en utf-8.
C'est résolu ?
Qu'est ce qu'il manquait du coup ? ... pour les suivants :o)
Qu'est ce qu'il manquait du coup ? ... pour les suivants :o)
Il faut écouter le grand gryzzly !
En fait, c'est juste que dans chaque fichier, il y a le type d'encodage. Du coup si on code en ANSI depuis belle lurette (ou si on reprend le code de qqun qui avait prog en ANSI ou quoi que ce soit) et qu'on dit un jour : 'oh bah faut que je mette tout en utf-8' eh bien faut changer la norme pour chaque fichier, et là on s'apercoit que tous nos p'ti accents se sont transformés en carrés dans l'éditeur... Et là on pleure.
Ça explique pk il y avait plein d'accents sur ma page. puisqu'en réalité tous mes autres fichiers n'étaient pas en utf-8.
Du coup je vais voir si ya pas un prog capable de changer un fichier ANSI en utf-8 parce que sinon j'en ai pour trois jours a changer tous mes p'ti carrés en accents mwa !
Sur ce-bonne journée !
En fait, c'est juste que dans chaque fichier, il y a le type d'encodage. Du coup si on code en ANSI depuis belle lurette (ou si on reprend le code de qqun qui avait prog en ANSI ou quoi que ce soit) et qu'on dit un jour : 'oh bah faut que je mette tout en utf-8' eh bien faut changer la norme pour chaque fichier, et là on s'apercoit que tous nos p'ti accents se sont transformés en carrés dans l'éditeur... Et là on pleure.
Ça explique pk il y avait plein d'accents sur ma page. puisqu'en réalité tous mes autres fichiers n'étaient pas en utf-8.
Du coup je vais voir si ya pas un prog capable de changer un fichier ANSI en utf-8 parce que sinon j'en ai pour trois jours a changer tous mes p'ti carrés en accents mwa !
Sur ce-bonne journée !