Page 1 sur 1

accents dans le code (bon ou pas?)

Posté : 26 juil. 2005, 13:57
par adri
hum hum, depuis qqes nuits, je ne dors plus, je me relève et vaguabonde dans les larges corridors de l'aile nord-ouest (2ème partie) de mon immense manoir...

J'ai fais une fonction qui me parrait très pratique:
function error($msg, $link) {
	$msg = strToEncode($msg);
	$_SESSION["error"] = $msg;
	header("location:".$link);
	exit();
}
function strToEncode($string) {
	return addslashes(htmlentities($string));
}
Explication: La fct error met simplement une variable session que j'affiche après le redirectionnement avec le header. C'est très confortables pour afficher les message d'erreurs je trouve.

MAIS, là n'est pas le problème:
ma variable $msg, lorsque j'invoque cette fonction, j'ose mettre des cractères spéciaux dedans (des accents) et donc, mon code source en contient un certain nombre...

Ex d'invocation obscure, avec du sang de chameau vénéneux du tibet:
if (!isset($_POST["login"]))
  error("tu n'as rentré ton login", "index.php");
Comme vous pouvez le voir, j'ai souvent qqes accents qui se retrouvent dans le code source.

J'ai tjs été habitué à n'en mettre aucun, jamais, mm dans les commentaires (car je faisais du C). Mais en php, je me dis, pas grave, c un language assez récent, il doit être encodé en utf8 donc, ça doit pas poser de problèmes.

Mais le doute est tjs présent dans mon esprit et du coup, je ne dors plus... SVP, aidez moi à survivre, dans ce monde de fous où y a plus rien qui va. C'était mieux avang

Posté : 26 juil. 2005, 14:00
par mere-teresa
Tu utilises ta fonction strToEncode() ?
Et est-ce que utf8-encode résoudrait ton problème ?

Re: accents dans le code (bon ou pas?)

Posté : 26 juil. 2005, 14:02
par Cyrano
hum hum, depuis qqes nuits, je ne dors plus, je me relève et vaguabonde dans les larges corridors de l'aile nord-ouest (2ème partie) de mon immense manoir...
On a failli y croire :langue:

Bon, pour l'encodage, ça dépend en principe de ta page, tu peux mettre utf-8 ou bien., dans la mesure où tu ne fais pas des applications susceptibles d'utiliser des langues asiatiques, arabes ou inuit, iso-8859-1.

TU peux éventuellement remplacer les caractères accentués avec htmlentities : é devient é, à devient à etc...

Posté : 26 juil. 2005, 14:05
par adri
en fait je vx simplement savoir si c'est conseillé ou pas, compatible ou pas

de mettre des accents dans son code.

que ce soit dans les fonctions, commentaires ou autre. Je me doute que niveau nom de variable c pas fort conseillé, mais sinon?

genre
//un commentaire avec plein d'accents à gogo, édé moà silyouplè
//ou encore genre
error("ààààà", "index.php");
voilà, c plus précis comme question mnt

ps: cyrano tu répond trop vite, tu m'as devancé, g du éditer msg :p

Posté : 26 juil. 2005, 14:06
par mere-teresa
En commentaire, on s'en fiche. Tu peux avoir des suprises en ouvrant ton fichier avec un Mac mal configuré, par exemple. Mais ça n'aura pas d'influence sur ton code.

Posté : 26 juil. 2005, 14:09
par Cyrano
Ce sera traité comme une chaine de caractère: donc il n'y aura de problème que si le type d'encodage choisi n'est pas bon lors de l'affichage. Au niveau du code, ça ne changera rien.

Il pourrait arriver éventuellement (j'ai édjà eu le problème) que les accents soient mal interprété et traduits de façons fantaisistes si le script transite entre machines hétéroclites : de PC vers Mac puis vers Linux.... bonjour les dégats.

Donc la prudence recommende de convertir les caractères directement dans les chaînes.