Version complète: sur le forum Webmaster Hub : Jeux de caractères : où faire les conversions ?
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net
biouche
Bonjour à tous !
Je suis en train d'écrire un petit gestionnaire de contenus pour un ami, afin qu'il puisse gérer son site internet sans avoir à mettre les mains dans les langages du web. Ce projet me donne beaucoup de sueurs étant donné que c'est mon tout premier projet, mais je m'en sors. Sauf en ce qui concerne les jeux de caractères...
Je m'explique :
- le gestionnaire utilise une base de données MySQL pour stocker en utf-8 les contenus du site gérés par mon ami.
- tout fichier contenant du code HTML est encodé en utf-8.
- toute page envoyée contient dans son en-tête la déclaration de jeu de caractère en utf-8.

Ma question est donc :
Etant donné que le jeu de caractère utilisé dans le protocole HTTP et par PHP est l' iso-8859-1, et que mon ami est sensé pouvoir remplir ses formulaires d'administration avec des caractères n'étant pas pris en charge par l'iso-8859-1, dois-je faire des conversions au moment de la réception des données des formulaires ? lors de l'insertion des données dans la BD ? au moment de l'affichage ? Et dans quel sens se font ces conversions ?

J'ai tenté plein de trucs, mais rien ne fonctionne comme je le voudrais sad.gif

Merci d'avance pour les éventuels bons conseils que vous pourriez me donner.
Cordialement
Leonick
CITATION(biouche @ mardi 19 décembre 2006, 21h09) *
Etant donné que le jeu de caractère utilisé dans le protocole HTTP et par PHP est l' iso-8859-1
Non, c'est toi qui indique au serveur quel encodage tu utilises. En php, c'est avec header("Content-Type: application/xhtml+xml; charset=UTF-8"); ou header("Content-Type: text/html; charset=UTF-8"); si tu ne codes pas en xhtml (ou pour les "vieux" navigateur comme IE6)
biouche
Merci et autant pour moi ! smile.gif

Bon alors finalement, j'ai pensé, tout bêtement, que puisque tout était en utf-8, je ne ferais aucune conversion... Et ça fonctionne.
En fait c'est ce que j'avais fait au départ, mais phpAdmin m'avait induit en erreur car il n'affiche pas correctement les caractères non iso latin 1. Du coup je m'étais dit que je devais modifier quelque chose...
Finalement je vais rester simple et ne rien faire tongue.gif Par contre je vais chercher le pourquoi du comment de l'affichage dans PhpAdmin, et si je trouve, je reviendrai poster ici.

A bientôt !
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.