accents dans le code (bon ou pas?)

Eléphanteau du PHP | 43 Messages

26 juil. 2005, 13:57

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

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

26 juil. 2005, 14:00

Tu utilises ta fonction strToEncode() ?
Et est-ce que utf8-encode résoudrait ton problème ?

Mammouth du PHP | 19672 Messages

26 juil. 2005, 14:02

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...
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 43 Messages

26 juil. 2005, 14:05

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
Modifié en dernier par adri le 26 juil. 2005, 14:07, modifié 1 fois.

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

26 juil. 2005, 14:06

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.
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Mammouth du PHP | 19672 Messages

26 juil. 2005, 14:09

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.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: