Bienvenue invité ( Connexion | Inscription )
![]() ![]() |
2 Oct 2010, 06:25
Message
#1
|
|
![]() 5eme dan OSC Groupe : Administrateur Messages : 9109 Inscrit : 4-March 03 Lieu : Auray Membre no 927 |
Allez Challenge : passer le caractère € via javascript et ajax à la bibliothèque GD2 !
Le but étant de faire dynamiquement une visu en image d'une chaine de caractère pouvant contenir un prix. Première constatation, ce caractère euro, bien qu'existant dans les polices les plus courantes, n'est pas accepté par la bibliothèque GD! Essayez donc de faire un imagettftext() avec une chaine contenant ce caractère maudit et ça vous sortira un beau carré vide. L'utilisation d'une police parfaitement standard comme arial puis vérification de l'existence de la glyphe dans le fichier, tout est ok. CHR(128) est son nom de code. Rien! pas plus de résultat avec d'autres polices open true type qui comportent bien ce caractère pourtant. La seule solution que j'ai trouvé a été de constituer des pictos dans mon logiciel graphique préféré dans le genre de euro_arial.png, une image de 10px de coté que je peux reprendre en GD, Ouf! Jusque là, ça va. Pas forcément très orthodoxe comme méthode mais fonctionnelle. Mais là où ça ne va plus c'est de tenter de faire passer l'euro d'un champ de saisi html à mon script de génération d'image. Malgré tous mes essais, € se transforme en @¬ ! utf8 ou pas, le caractère fait le rétif. Et la difficulté est de coder un caractère dans javascript pour le décoder dans php! j'ai essayé des codages multiples mais javascript est pauvre en fonctions natives. Développer une fonction base64, htmlentities en javascript est faisable mais le décodage bute toujours sur ce @¬#©! d'€ ! La seule fonction native que j'ai trouvé qui code et décode parfaitement le sigle est le codage URL via escape/unescape : Cool! manque de bol, la fonction php qui est sensée décoder, urldecode (ou rawurldecode) ne retrouve pas son € ! le décodage s'effectue bien mais l'euro reste bloqué sur % u20AC (sans espace après %) J'ai donc bricolé : Code $text = urldecode($text); ça marche! (virer l'espace après % le codage inséré ici se transforme bien en € !)$text = preg_replace('/% u20AC/','€', $text); Alors si vous avez une solution plus propre, je suis preneur. A noter tout de même que cette crotte de E majuscule à 2 barres* est présent sur nos clavier depuis plus de 10 ans! (infos dur l'euro) Surement que son insertion dans les tables de caractères a du être bâclée alors qu'UTF8 n'était pas né et que le bug de l'an 2000 occupait alors les esprits informatiques. Car € butte à deux endroits alors que des caractères moins probables comme § ou ¤ sont parfaitement acceptés de bout en bout sans aucune conversion nécessaire. Le code 128 généralement utilisé dans les polices de caractère entre en conflit avec windows-1252. D'où des gymnastiques incroyables pour arriver à le faire passer d'un langage à l'autre. Fin d'une galère de codage pour moi. Mais si ça fonctionne, je ne suis pas satisfait des procédés utilisés. Si vous trouvez plus convenable comme méthode, n'hésitez pas! (*)prononcez en roulant les r pour percevoir le double sens. -------------------- Tout d'abord :
- Ni Hotline ni Service Après Vente, ces forums sont un lieu d'échange. BIEN POSER SA QUESTION (généralités)Les "Informations Importantes" que vous devez ABSOLUMENT avoir lues : Règlement, Bien poser sa question dans ces forums et Bien utiliser les Forums. Les raccourcis pour gagner du temps : la FAQ, les PDF de la Doc (MS2-fr): PDF-V1 et PDF-V2, le moteur de Recherche sur les forums , la Liste des Contributions de Corbin. ----------------------------- Quelques sites de référence --------------------------- PHP: Le site du Zéro et PHP Débutant avec la DOC en français -- HTML: Self HTML - WebProgrammation -- CSS: OpenWeb - AlsaCréations - CSS/Edge -- Autres ressources: - XajaX - highslide js Les bons outils : EasyPHP - WAMP-5 - - Notepad++ - Firefox et son extension WebDeveloperLe gène idéal c'est le gène original. Le génie des halles est un Génie des Alpages qui tente d'être à la page. (Merci f'murrr pour les cours de philosophie de chien) |
|
|
11 Oct 2010, 10:43
Message
#2
|
|
|
Ceinture verte OSC Groupe : Membres Messages : 655 Inscrit : 22-May 04 Lieu : SAINTES - CHARENTE MARITIME 17 Membre no 2528 |
Bonjour Gnidhal,
De mon côté le sigle € s'affiche parfaitement partout sur mon site, je pense qu'il a eu une modification mais je suis incapable de te dire laquelle, Cordialement Bertrand PS : Je crois que je viens de trouver : dans l'admin localisation devise, remplace le sigle € ou (& # 128;) par (& # 8364;) sans les espaces ni les paranthèses. Enfin chez moi ça marche. Ce message a été modifié par bertrandg - 11 Oct 2010, 11:14. -------------------- Cordialement,
Bertrand MEDIOLANUM SANTONUM (17100) |
|
|
11 Oct 2010, 12:03
Message
#3
|
|
![]() 5eme dan OSC Groupe : Administrateur Messages : 9109 Inscrit : 4-March 03 Lieu : Auray Membre no 927 |
Merci, moi aussi
Le problème n'est pas sur les pages en html mais dans la réalisation d'images à la volé en utilisant la bibliothèque graphique GD ! le #8364 n'est pas d'avantage reconnu par la bibliothèque GD. Quant au passage par js, le transcodage d'un langage à l'autre ne fonctionne pas correctement avec ce genre de codage. Merci tout de même -------------------- Tout d'abord :
- Ni Hotline ni Service Après Vente, ces forums sont un lieu d'échange. BIEN POSER SA QUESTION (généralités)Les "Informations Importantes" que vous devez ABSOLUMENT avoir lues : Règlement, Bien poser sa question dans ces forums et Bien utiliser les Forums. Les raccourcis pour gagner du temps : la FAQ, les PDF de la Doc (MS2-fr): PDF-V1 et PDF-V2, le moteur de Recherche sur les forums , la Liste des Contributions de Corbin. ----------------------------- Quelques sites de référence --------------------------- PHP: Le site du Zéro et PHP Débutant avec la DOC en français -- HTML: Self HTML - WebProgrammation -- CSS: OpenWeb - AlsaCréations - CSS/Edge -- Autres ressources: - XajaX - highslide js Les bons outils : EasyPHP - WAMP-5 - - Notepad++ - Firefox et son extension WebDeveloperLe gène idéal c'est le gène original. Le génie des halles est un Génie des Alpages qui tente d'être à la page. (Merci f'murrr pour les cours de philosophie de chien) |
|
|
11 Oct 2010, 12:56
Message
#4
|
|
![]() Ceinture noire OSC Groupe : TechDev Messages : 2161 Inscrit : 9-September 08 Lieu : Douai Membre no 22915 |
Grâce à ton post, j'ai au moins appris l'existence de bibliothèque GD et des fonctions php image. A tout hasard, pourquoi pas superposer une ellipse (partielle) et deux traits/tilde décalés ? Bonne recherche. Chti poupon |
|
|
11 Oct 2010, 15:10
Message
#5
|
|
|
Ceinture marron OSC Groupe : Modérateurs Messages : 1453 Inscrit : 3-June 09 Membre no 25501 |
as tu essayé avec la fonction iconv ?
au passage, Jquery possède son plugin de globalisation via un plugin officiel (développé par Microsoft, sur le modèle de culture existant sous DotNet) : jquery-glob -------------------- |
|
|
11 Oct 2010, 21:52
Message
#6
|
|
![]() 5eme dan OSC Groupe : Administrateur Messages : 9109 Inscrit : 4-March 03 Lieu : Auray Membre no 927 |
Pas mal comme idée Chtipoupon, mais pas vraiment propre si on utilise des polices qui ont leur style avec des glyphes parfaitement existants pour le caractère Euro.
Il est dommage que GD ne sache pas retrouver le bon glyphe dans une police. Je vais regarder du coté de iconv qui m'a l'air plutôt évolué. En ce qui concerne le passage de js à php, le truc que j'ai donné concernant le décodage via urldecode pourrait bien trouver sa solution avec iconv. Je vous donnerai des résultats. -------------------- Tout d'abord :
- Ni Hotline ni Service Après Vente, ces forums sont un lieu d'échange. BIEN POSER SA QUESTION (généralités)Les "Informations Importantes" que vous devez ABSOLUMENT avoir lues : Règlement, Bien poser sa question dans ces forums et Bien utiliser les Forums. Les raccourcis pour gagner du temps : la FAQ, les PDF de la Doc (MS2-fr): PDF-V1 et PDF-V2, le moteur de Recherche sur les forums , la Liste des Contributions de Corbin. ----------------------------- Quelques sites de référence --------------------------- PHP: Le site du Zéro et PHP Débutant avec la DOC en français -- HTML: Self HTML - WebProgrammation -- CSS: OpenWeb - AlsaCréations - CSS/Edge -- Autres ressources: - XajaX - highslide js Les bons outils : EasyPHP - WAMP-5 - - Notepad++ - Firefox et son extension WebDeveloperLe gène idéal c'est le gène original. Le génie des halles est un Génie des Alpages qui tente d'être à la page. (Merci f'murrr pour les cours de philosophie de chien) |
|
|
![]() ![]() |
|
Version bas débit | Nous sommes le : 23rd May 2013 - 05:03 |
| Ce site est déclaré auprès de la commision Nationale de l'Informatique et des Libertés (déclaration n°: 1043896) |