Caractères accentués avec ImageTTFText ?

cs_bibos Messages postés 7 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 28 septembre 2011 - 6 déc. 2004 à 13:35
cs_bibos Messages postés 7 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 28 septembre 2011 - 6 déc. 2004 à 14:40
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

cs_windu Messages postés 282 Date d'inscription vendredi 16 mai 2003 Statut Membre Dernière intervention 19 juillet 2006
6 déc. 2004 à 13:53
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!!!
0
cs_bibos Messages postés 7 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 28 septembre 2011
6 déc. 2004 à 13:57
Oui... et ça s'affiche telquel :-/
0
cs_bibos Messages postés 7 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 28 septembre 2011
6 déc. 2004 à 14:40
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;
}
0
Rejoignez-nous