Bonsoir à tous,
comme je le disais dans le sujet de hibou57, je suis, depuis ce matin, en train d'approfondir mes maigres connaissances en gestion de l'UTF-8 avec PHP. J'ai lu pas mal de choses à ce sujet, j'essaie de me représenter un peu la marche à suivre autant côté encodage des fichiers/DB que du côté de PHP, mais j'avoue être un peu perdu et ne pas trop savoir par quel bout le prendre.
D'après ce que j'ai compris, côté affichage, deux choses :
1. La définition du charset
2. L'envois d'un header du serveur vers le client, 3 possibilités
Si il n'y a que ça de ce côté tout va bien.
Mais reste le côté PHP. En effet, j'ai pu lire à pas mal d'endroits qu'il fallait configurer la base de données (MySQL pour ma part) en UTF-8, que certaines fonctions ne fonctionnaient pas correctement avec un contenu codé en UTF-8, et bien d'autres...
Dans un premier temps j'aimerai, si quelqu'un veut bien, qu'une personne me propose une espèce de marche à suivre, ou du moins les différentes étapes, les choses à ne pas oublier et les points délicats. Parce que côté gestion de l'UTF-8 sous PHP... je suis com-plète-ment paumé.
Ensuite j'ai quelques questions. Certaines pourront parraitres bêtes, mais je suis vraiment perdu, alors je tappe ce qu'il me passe par la tête :
- Si je dois insérer du texte en dur dans mon code PHP, il faut que mon éditeur soit en UTF-8, mais qu'en serat-il de l'encodage du code PHP en lui même (elements de syntaxe : guillemets, parenthèses, etc.), serat-il encodé aussi ? Si oui, cela ne risque t'il pas de poser problème au niveau de PHP (includes, etc.) ?
- Si je dois intervenir avec PHP (regexp, etc.) sur des chaînes en UTF-8, quel(s) problème(s) cela engendrera-t-il ? Et comment y remedier ?
- Si un utilisateur entre du texte dans un formulaire, le texte retourné par $_GET ou $_POST serat-il codé en UTF-8 ? Si non, que faut-il faire pour qu'il le soit ?
J'ai tellement de questions, sans vraiment en avoir... Dur dur.
Merci,
Antoine
Modifié par Bouda (13 Jan 2006 - 00:46)
comme je le disais dans le sujet de hibou57, je suis, depuis ce matin, en train d'approfondir mes maigres connaissances en gestion de l'UTF-8 avec PHP. J'ai lu pas mal de choses à ce sujet, j'essaie de me représenter un peu la marche à suivre autant côté encodage des fichiers/DB que du côté de PHP, mais j'avoue être un peu perdu et ne pas trop savoir par quel bout le prendre.
D'après ce que j'ai compris, côté affichage, deux choses :
1. La définition du charset
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
2. L'envois d'un header du serveur vers le client, 3 possibilités
// PHP
header('Content-Type: text/html; charset=UTF-8');
# .htaccess
AddDefaultCharset UTF-8
# .htaccess
AddDefaultCharset Off
Si il n'y a que ça de ce côté tout va bien.
Mais reste le côté PHP. En effet, j'ai pu lire à pas mal d'endroits qu'il fallait configurer la base de données (MySQL pour ma part) en UTF-8, que certaines fonctions ne fonctionnaient pas correctement avec un contenu codé en UTF-8, et bien d'autres...
Dans un premier temps j'aimerai, si quelqu'un veut bien, qu'une personne me propose une espèce de marche à suivre, ou du moins les différentes étapes, les choses à ne pas oublier et les points délicats. Parce que côté gestion de l'UTF-8 sous PHP... je suis com-plète-ment paumé.
Ensuite j'ai quelques questions. Certaines pourront parraitres bêtes, mais je suis vraiment perdu, alors je tappe ce qu'il me passe par la tête :
- Si je dois insérer du texte en dur dans mon code PHP, il faut que mon éditeur soit en UTF-8, mais qu'en serat-il de l'encodage du code PHP en lui même (elements de syntaxe : guillemets, parenthèses, etc.), serat-il encodé aussi ? Si oui, cela ne risque t'il pas de poser problème au niveau de PHP (includes, etc.) ?
- Si je dois intervenir avec PHP (regexp, etc.) sur des chaînes en UTF-8, quel(s) problème(s) cela engendrera-t-il ? Et comment y remedier ?
- Si un utilisateur entre du texte dans un formulaire, le texte retourné par $_GET ou $_POST serat-il codé en UTF-8 ? Si non, que faut-il faire pour qu'il le soit ?
J'ai tellement de questions, sans vraiment en avoir... Dur dur.
Merci,
Antoine
Modifié par Bouda (13 Jan 2006 - 00:46)