Anonymus Posté 14 Juin 2005 Auteur Posté 14 Juin 2005 Non, j'ai réédité. Je n'avais pas controlé, là, ca s'affiche correctement. Donc, comment passer de à .. [voir plus haut] ? Merci.
Dudu Posté 14 Juin 2005 Posté 14 Juin 2005 header('Content-Type: text/html; charset=UTF-8'); Y'a que çà de vrai À quoi bon s'embêter avec les entités html ?
Anonymus Posté 14 Juin 2005 Auteur Posté 14 Juin 2005 J'y avais pensé, mais.. ca m'oblige à modifier tout le reste, et... Y'en a un paquet
Dudu Posté 14 Juin 2005 Posté 14 Juin 2005 Ben non (ou alors je m'embrouille les pinceaux). En UTF-8, é s'affichera quand même bien é. Donc tu peux garder à la fois tes entités + tes caractères spéciaux/accentués tels quels. PS: d'ailleurs je voulais te changer tout çà, quand je bossais en local. Depuis que je connais l'UTF-8 je hais les entités HTML
Anonymus Posté 14 Juin 2005 Auteur Posté 14 Juin 2005 Justement, c'est ca le problème, tout le reste est en 'é', 'à', etc.. Ca me fait des caractères chinois sur la page, ce qui n'est pas le but recherché. ps : non, c'est pas pour mon site, c'est pour un crm
Eclipsis Posté 14 Juin 2005 Posté 14 Juin 2005 (modifié) Salut Anonymus, je ne suis pas certain d'avoir compris ce que tu demandes exactement... Tu as résolu ton problème ou non? Dans le doute, est-ce que cette page t'aiderait? A+ Modifié 14 Juin 2005 par Eclipsis
Anonymus Posté 14 Juin 2005 Auteur Posté 14 Juin 2005 Non, je n'ai pas réussi. Concrètement, je voudrais qu'en faisant : $string = fonction(""); echo "devise = ".$string; ca me sorte : devise = € Bref, comment trouver une fonction qui convertisse les caractères spéciaux (tels que ), en caractères "&#xxx;"
TheRec Posté 14 Juin 2005 Posté 14 Juin 2005 (modifié) Une piste : function xmlentities($string, $quote_style=ENT_QUOTES){ static $trans; if (!isset($trans)) { $trans = get_html_translation_table(HTML_ENTITIES, $quote_style); foreach ($trans as $key => $value) $trans[$key] = ''.ord($key).';'; // dont translate the '&' in case it is part of &xxx; $trans[chr(38)] = '&'; } // after the initial translation, _do_ map standalone '&' into '&' return preg_replace("/&(?![A-Za-z]{0,4}\w{2,3};|#[0-9]{2,3};)/","&" , strtr($string, $trans));} Le hic c'est que la table de translation "HTML_ENTITIES" ne contient pas apparemment Mais si tu crée ta propore table "$trans" ça va fonctionner. Le cas spécial de "&" est traîté, le caractère n'est pas converti car on l'utilise comme séparateur dans les url, donc il vaut mieux le traîter à part (en tout cas c'est ainsi que je l'ai compris). PS: Le code vient de cette page http://ch2.php.net/htmlentities dans les commentaires... Modifié 14 Juin 2005 par TheRec
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant