Problème unicode avec la fonction regexp
#1
Bonsoir à tous,

alors je suis confronté à un problème lié à eggdrop (ou tcl) sur la fonction regexp, j'ai effectué plusieurs tests pour arriver à ce constat.

Pour commencer, j'ai tapé en partyline 

Citation :.tcl putlog "voir le pastebin en bas de post pour récupérer l'unicode à insérer ici*

et il m'affiche bien l'unicode correctement. Ensuite, j'ai tenté avec 

Citation :.tcl putserv "PRIVMSG #test :voir le pastebin en bas de post pour récupérer l'unicode à insérer ici*"

il m'affiche correctement l'unicode sur irc.

J'ai ensuite fait un petit script pour voir ce qu'il me retournera:

tcl
bind msg - testuni ::cmdstools::msg:testunicode
proc ::cmdstools::msg:testunicode {nick host hand text} {
     putlog "$textunicode"
}



De ce côté là on est ok, l'eggdrop gère bien, il me retourne un putlog avec l'unicode correctement affiché.

Par contre, en utilisant le même script avec la fonction regexp :

tcl
bind msg - testuni ::cmdstools::msg:testunicode
proc ::cmdstools::msg:testunicode {nick host hand text} {
 
     regexp {.+} $text textunicode
     putlog "$textunicode"
 
}



Il affichera un problème d'encodage : 

Citation :<Amand> testuni voir le pastebin en bas de post pour récupérer l'unicode à insérer ici*

<Bot> [00:34:16]  😜

Le problème est le même pour le package json, mais pour l'instant on va se focaliser sur la fonction regexp je ne sais pas si quelqu'un a déjà résolu le problème ou si les développeurs d'eggdrop sont au courant, mais je poste ça ici.

* Le forum ne me permet pas de mettre directement l'unicode, du coup je le paste : https://tools.eggdrop.fr/privatebin/?86e...YP5xED373n
Répondre
#2
Hello,
https://forum.eggdrop.fr/comment-regsub-...-1512.html
Il me semble que ce bug de Tcl a été remonté à ActiveState par CrazyCat, à confirmer avec lui.
Répondre Avertir
#3
Hello MenzAgitat,

j'ai tenté de faire des encoding, sans aucun succès, je pense pas que ce soit la solution.
Répondre
#4
Suivi du post:

J'ai effectué une installation manuelle de tcl, en changeant la variable #define TCL_UTF_MAX 6 du generic/tcl.h , j'ai fait une recompilation d'eggdrop pour qu'il prenne en compte le nouveau chemin de tcl.

Voici le résultat:

<eggdrop> [22:17:20] avant regexp => unicode
<eggdrop> [22:17:20] après regexp => ������
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
Tchat 100% gratuit -Discutez en toute liberté