Page 1 sur 1

Signe euro avec la libraire GD ?

Posté : 09 août 2008, 20:37
par Tong
Hello,

Ya-il un moyen d'afficher le signe euro dans une image dynamiquement, en utilisant la librairie GD ?
Avec imagettftext(), j'arrive à afficher n'importe quel texte, seul le signe euro me pose problème.

Selon la police choisie, parfois un rectangle s'affiche au lieu du signe euro, parfois rien.

Ca m'embête plus qu'un peu, j'ai passé pas mal de temps pour pouvoir générer automatiquement une bannière pour chaque produit de ma boutique, et je viens juste de me rendre compte de ce problème, une fois que tout est quasi fini ...

Merci de votre aide.

Posté : 09 août 2008, 22:51
par chrislabricole
Sois tu trouves une police avec le signe euro inclue dedans (je te conseil dafont.com si tu connais pas) ou alors, si tu veux vraiment garder ta police, essaies de créer une image avec le € dedans et tu l'inclu avec imagecopymerge(), sinon, je ne serais quoi te proposer :? moi j'ai utilisé € dans une image avec imagettftext(), et ça marcher nickel, je pense que c'est la police...

Posté : 10 août 2008, 17:39
par Victor BRITO
Si tu utilises le codage ISO-8859-1, sache que ce codage n'inclut pas le symbole €. Pour pouvoir l'utiliser sans se casser la tête, le mieux est d'utiliser un codage plus approprié, comme l'ISO-8859-15 ou, mieux encore, l'UTF-8.

Posté : 12 août 2008, 18:05
par Tong
Concernant la police, sous photoshop, elle semble prendre en compte le signe euro. Et puis j'ai essayé avec 2 ou 3 autres polices plus standard, sans résultat.

Concernant l'encodage, dans un code php, il n'y a pas d'encodage de défini ? Je doit le définir où cet encodage sinon ? Là c'est pas du texte récupéré d'une base, c'est du texte en dur dans le code.

Posté : 12 août 2008, 23:26
par Victor BRITO
Pour définir le codage du fichier PHP, c'est au niveau de ton éditeur. Par exemple, sous Notepad++ (de mémoire), tu sélectionnes Édition > Convertir en UTF-8 sans BOM.

Posté : 14 août 2008, 11:35
par Cobaye
Après pas mal de recherche car j'étais confronté au même problème, j'ai trouvé cette fonction et ca fonctionne !
function eurofix($str) {
$euro=utf8_encode('€');
$str = preg_replace('/\x80/',$euro,$str);
return ($str);
}

Posté : 14 août 2008, 13:52
par Sékiltoyai
Ahlala, l'euro ça n'a apporté que des problèmes :mrgreen:

Posté : 14 août 2008, 23:02
par Tong
Tip-top cette fonction, ça marche parfaitement, merci.

Sékiltoyai > ah c'est sûr qu'un bon vieux F, c'est moins récalcitrant ;)