Forum Programmation.php Problème UTF-8 avec PHP 5 (espace perso free.fr)

Posté par  .
Étiquettes : aucune
0
15
avr.
2005
chr(233) me donne "é" c'est normal.
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  . Évalué à 3.

    comment travailler entièrement en UTF-8 (encodage interne + output) sachant que je n'ai pas la main sur la conf PHP / Apache (Free)


    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.