Aller au contenu

Sujets conseillés

Posté

Non, j'ai réédité. Je n'avais pas controlé, là, ca s'affiche correctement.

Donc, comment passer de à .. [voir plus haut] ?

Merci.

Posté

header('Content-Type: text/html; charset=UTF-8');

Y'a que çà de vrai :D À quoi bon s'embêter avec les entités html ? ;)

Posté

J'y avais pensé, mais.. ca m'oblige à modifier tout le reste, et... Y'en a un paquet :(

Posté

Ben non :huh: (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 :D

Posté

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 ;)

Posté (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é par Eclipsis
Posté

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;"

Posté (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é par TheRec

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...