Emojis en HTML? - HTML/CSS - Programmation
Marsh Posté le 29-12-2013 à 09:12:55
Zut je m'y attendais le browser stoppe l'affichage des qu'il y a une ligne avec des émojis. Pourtant sur la fenetre d'édition du topic c'était bon. Décidemment.... bon je refais:
Bonjour,
Je fais des fichiers HTML avec des chaines de caractères contenant des emojis. Ces chaines proviennent d'un jeu iPhone. Ca ressemble à ça:
<HTML>
<head>
<meta content="text/html; Charset=UTF-8" http-equiv="Content-Type" />
<meta charset="UTF-8"/>
</head>
<BODY>
<STRONG>LISTE</STRONG><UL>
[Quelques lignes avec des emojis encodés en UTF-8. Enfin je pense]
</UL><BR>
</BODY>
</HTML>
Sur Firefox ou IE, ça s'affiche à peu pres correctement. Certains symboles sont remplacés par des carrés ou des points d'interrogation. Mais ça à la limite je m'y attendais, mon but étant surtout de faire un fichier correct pour iOS.
Mais le probleme c'est que sous Safari (iPhone ou iPad) c'est encore pire. Ca s'affiche exactement comme quand la balise charset=UTF-8 est absente, c'est à dire à peu pres comme ça:
í ¼í¼‘í ½í·½í ½í²¢í ½í°šà¿ˆ Ꭺáཔྲá¦à½ªá•á• â‚í ½í´¥: 3 chateaux pris
âš–í ¼í¼‘í ½í·½í ½í°šRoro ☠3eLégi☬ní ½í´¥í ¼íµ° í ½í¸ˆ: 9 chateaux pris
í ½í·»í ½í°šà¿ˆ Teo07 â‚í ½í´¥: 3 chateaux pris
í ½í°º í ½í°šà¿ˆ Monkey D.Luffyâ‚í ½í´¥í ¼í¼‘â˜ : 2 chateaux pris
í ½í·½í ½í·»í ½í°šà¿ˆ â†à½‡à½–â„Ꭷༀ â‚í ½í´¥: 2 chateaux pris
Voila. Je ne sais absolument pas quoi faire. Une idée quelqu'un?
Guillaume
Marsh Posté le 05-01-2014 à 16:51:21
Bonjour,
Tu as un exemple sous la main de code des emojis ?
Tu as vu ca ? http://apps.timwhitlock.info/emoji/tables/unicode
bonne journée
Marsh Posté le 25-01-2014 à 07:09:56
Bonjour,
Merci de ta réponse torwood. J'ai détecté un premier probleme, quand je copy-paste du texte contenant des emojis vers un editeur de texte (PsPad par exemple), certaines séquences UTF-8 sont correctement copiées, d'autres sont transformées en autre chose.
Par contre, meme avec de l'UTF-8 correct, ça ne passe toujours pas sur iOS. Voila un exemple très simple:
https://www.dropbox.com/s/f33j0g0ejryp4t8/b.html
Ca devrait afficher "Test" et juste derrière un smiley (\xF0\x9F\x98\x81, c'est le tout premier). Sur IE et Firefox c'est OK, mais sur mon iPhone ça m'affiche 3 caractères bizarroïdes à la place du Smiley.
Si quelqu'un a une idée, franchement je ne voie pas.
Marsh Posté le 26-01-2014 à 04:06:57
C'est bon j'ai trouvé. Mon doc n'avait pas
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 3.2 Final//EN">
Donc je suppose qu'il était interpreté comme du HTML 1, qui ne supporte sans doute pas UTF-8.
Marsh Posté le 26-01-2014 à 21:31:50
mais un VRAI doctype, meme ce doctype là c'et de la merde.
colle le doctype HTML5 : <doctype html> et rulez
Marsh Posté le 27-01-2014 à 04:23:25
Bon alors si jamais quelqu'un tombe sur le meme pb que moi, et afin qu'il ne s'arrache pas les cheuveux pendant 2 jours comme moi, je vous donne la fin de l'histoire.
Avec un DOCTYPE, ça marchait sur un petit fichier test. Par contre sur mon gros fichiers (qui contient des dizaines de milliers de caractères UTF-8, et beaucoup de bizarres) ça ne marchait toujours pas (sur iOS j'entends). Alors j'ai enlevé petit à petit du texte pour voir ce qui posait le problème. A la fin je suis arrivé à la conclusion que passé un certain nombres de caractères ça ne passait plus (entendre: à partir d'un certain nombre de caractères, *tous* les UTF-8 sont affichés n'importe comment. Voila deux exemples:
https://www.dropbox.com/s/q879ggnvrhposhw/bad.html
https://www.dropbox.com/s/a923huiz0mnvjxa/good.html
Le second est ok (les émoticons sont en bas) le premier non, et pourtant la seule différence c'est une ligne de texte supplémentaire dans le fichier (et en plus une ligne 100% ASCII). Ceci sur iPhone, iOS 7.0.4).
Encore pire, Gatsu35, quand je remplace mon DOCTYPE tarabiscoté par le tien, le "good" ne marche plus!! Alors que par contre, sur un plus petit fichier ne contenant qu'un seul smiley, ça ne fait pas de différence.
Bref, à n'y rien comprendre.
Marsh Posté le 29-12-2013 à 09:09:55
Bonjour,
Je fais des fichiers HTML avec des chaines de caractères contenant des emojis. Ces chaines proviennent d'un jeu iPhone. Ca ressemble à ça:
<HTML>
<head>
<meta content="text/html; Charset=UTF-8" http-equiv="Content-Type" />
<meta charset="UTF-8"/>
</head>
<BODY>
<STRONG>LISTE</STRONG><UL>
<LI>