Caractères accentués avec ImageTTFText ?

Signaler
Messages postés
7
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
28 septembre 2011
-
Messages postés
7
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
28 septembre 2011
-
Bonjour,

Je viens de me mettre à la génération d'images en PHP, et j'ai un premier problème sur lequel je bute depuis 24h...

Et ça me parait tellement bête, que je viens poser la question ici pour arrêter de tourner en rond.

Je n'arrive pas à insérer du texte avec des caractères accentués avec la fonction "ImageTTFText".

Je mets ma police dans un dossier, je la charge, j'utilise une image de base servant de fond, je rajoute mon texte à l'aide d'un formulaire... Le texte s'inscrit bien sur l'image, avec la bonne police... mais... les caractères accentués (et les guillemets) sont remplacés par des carrés...

Si je remplace ces caractères par les codes ascii correspondants, ça ne me fait pas plus avancer... les codes ascii sont écrits en clairs sur l'image. :-/

Si quelqu'un sait d'ou ça peut venir ?

Merci d'avance pour toute aide :)

3 réponses

Messages postés
282
Date d'inscription
vendredi 16 mai 2003
Statut
Membre
Dernière intervention
19 juillet 2006

as-tu essayé de mettre le caractère sous son code html? c'est a dire & kelke chose (du style & eacute; pense a supprimer l'espace ke j'ai mis après le & car sinon ca aurait peut-etre pas affiché correctement)

Que la Force soit avec toi, Jeune Padawan!!!
Messages postés
7
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
28 septembre 2011

Oui... et ça s'affiche telquel :-/
Messages postés
7
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
28 septembre 2011

Bon, en fait je pensais avoir testé les caractères ascii, mais apparement non... puisque ça marche :blush)

Voilà donc une petite fonction, si ça peut servir à quelqu'un, pour remplacer les caractères accentués (et guillemets) par leurs équivalents ascii :

function CarASCII($chaine){
$chaine=stripslashes($chaine);
$tofind = array ("À","Á","Â","Ã","Ä","Å","à","á","â","ã","ä","å","Ò","Ó","Ô","Õ","Ö","Ø","ò","ó","ô","õ","ö","ø","È","É","Ê","Ë","è","é","ê","ë","Ç","ç","Ì","Í","Î","Ï","ì","í","î","ï","Ù","Ú","Û","Ü","ù","ú","û","ü","ÿ","Ñ","ñ",""");
while(list($cle,$val) = each($tofind))
{ $replace[] = "&#".ord($val).";";}

$chaine = str_replace($tofind,$replace,$chaine);
return $chaine;
}