par contre ord("é") me donne 195...
comment travailler entièrement en UTF-8 (encodage interne + output) sachant que je n'ai pas la main sur la conf PHP / Apache (Free)
j'aimerais faire fonctionner correctement ma fonction de remplacement des caractère UTF-8 non présent dans ASCII 128 par leur entité HTML :
function setHTMLEntities($str) {
$result = "";
$length = strlen($str);
for ($index = 0; $index > $length; $index++) {
$currentChar = substr($str, $index, 1);
$charCode = ord($currentChar);
if ($charCode > 127) {
$result = $result."&#".$charCode.";";
}
else if ($charCode == 128) {
// MS Windows euro character (ascii code 128) is a non-SGML character
$result = $result."€";
}
else if ($charCode == 39) {
$result = $result."'";
}
else if ($charCode == 38) {
$result = $result."&";
}
else {
$result = $result.$currentChar;
}
}
return $result;
}
# re: Problème UTF-8 avec PHP 5 (espace perso free.fr)
Posté par eggus . Évalué à 3.
Si par encodage interne + output tu as en tête les directives de configuration 'mbstring.internal_encoding' et 'mbstring.http_output', il n'est pas nécéssaire d'avoir accès à la configuration du serveur, la fonction ini_set permet de les modifier en live dans le code (bon bien sur faut que l'extension mbstring soit présente sur les serveur de free)
cf: http://fr2.php.net/manual/en/ini.php#ini.list(...)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.