Aller au contenu

Jeux de caractères : où faire les conversions ?


Sujets conseillés

Posté

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 :(

Merci d'avance pour les éventuels bons conseils que vous pourriez me donner.

Cordialement

Posté
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)
Posté

Merci et autant pour moi ! :)

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 :P 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 !

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...