![]() |
Hack anti-emoji / Unicode - Version imprimable +- Communauté Eggdrop (https://forum.eggdrop.fr) +-- Forum : Eggdrop et scripts (https://forum.eggdrop.fr/forumdisplay.php?fid=8) +--- Forum : Scripts (https://forum.eggdrop.fr/forumdisplay.php?fid=4) +--- Sujet : Hack anti-emoji / Unicode (/showthread.php?tid=1769) |
Hack anti-emoji / Unicode - CrazyCat - 27/01/2024 Les emojis récents utilisent des caractères UTF-8 codés sur trop de bits pour TCL, ce qui provoque un crash de l'eggdrop lorsqu'il traite des lignes en contenant. La première astuce est de recompiler TCL en changeant la valeur de TCL_UTF_MAX qui est par défaut à 3 (dans TCL 8.x, il est à 4 dans TCL 9.x). Mais ce n'est pas à la portée du premier venu et tout le monde n'a pas la possibilité de recompiler TCL. L'autre option, je l'ai trouvée sur https://gitlab.com/dbohdan/twtxt.tcl et elle consiste à détecter ces caractères et les remplacer. Dans le script initial qui génère du contenu HTML, l'auteur utilise des images. Pour ma part, je remplace par ":emoji:" Le code comprend 2 parties. La première sert juste à remplir une variable (à mettre en global) qui informe des possibilités de traitement de l'UTF: tcl
La seconde est celle qui nettoie le texte: tcl
Et dans chaque procédure pouvant potentiellement recevoir du texte avec de l'unicode, il suffit d'avoir en début de procédure la ligne set text [::emoji $text] N'hésitez pas à aller visiter le github de twtxt.tcl pour voir la procédure initiale et ses possibilités. |