Problème d'encodage charset suite à changement de version
#1
TL;DR - "œ ç é à è ù â ê î ô û ë ï ü" donne "Šç é à è ù â ê î ô û ë ï ü"

Bonjour à tous,

Mon hébergeur a mis fin à mon offre VPS et m'a demandé de passer sur un nouveau serveur. J'ai donc déménagé mon eggdrop et j'en ai profité pour passer de la version 1.6.21 à 1.8.4 en faisant une installation "fraîche" (oui, il était temps).

Hélas j'ai maintenant un problème d'encodage, alors que normalement la version 1.8 devrait gérer ça mieux que la 1.6. Suite à mes recherches, j'ai tout de même édité tcl.c (dans in eggdrop-1.8.4/src) et remplacé :

Code :
if (encoding == NULL) {
  encoding = "iso8859-1";
}

Par ceci :

Code :
if (encoding == NULL) {
  encoding = "iso8859-1";
  encoding = "utf-8";
}

Puis "make clean" et compilé à nouveau avant de relancer. Normalement ça c'est OK (une solution pour vérifier plus précisément ce point ?)

Je n'ai pas touché à mon code en Tcl, j'ai téléchargé mon ancien script en l'état sur le nouveau serveur pour être utilisé par l'eggdrop. Peut être quelque chose est à modifier à ce niveau ? Voici un exemple de ce qui fonctionnait avant cette réinstallation/passage à la nouvelle version :

tcl
bind pub - !utf8 pub:utf8 
proc pub:utf8 { nick uhost handle chan arg } {
pututf8 $chan "œ ç é à è ù â ê î ô û ë ï ü"
}
proc pututf8 { chan text } {
putserv "PRIVMSG $chan :[encoding convertto utf-8 $text]"
return 1
}



Maintenant le résultat donné est : Šç é à è ù â ê î ô û ë ï ü
Je ne peux que supposer que ce problème avec utf-8 est lié à mon script Tcl, le serveur IRC où l'eggdrop est connecté n'a lui pas changé et la précédente version y fonctionnait.

Au cas où Tcl pourrait être en cause, je vous donne cette info :
Code :
tclsh
% puts $tcl_version
8.6
% info patchlevel
8.6.6

Et si ça serait lié (mais peut être pas) j'ai aussi ce problème d'encodage au lancement :

Code :
Eggdrop v1.8.4 (C) 1997 Robey Pointer (C) 2010-2018 Eggheads
--- Loading eggdrop v1.8.4 (Wed Feb  5 2020)
Listening for telnet connections on -retiré- (all).
Module charg▒: blowfish
Module charg▒: dns
Module charg▒: channels
Module charg▒: server
Module charg▒: ctcp
Module charg▒: irc
Module charg▒: notes            (avec support internationnal)
Module charg▒: console          (avec support internationnal)
Loading dccwhois.tcl...
Loaded dccwhois.tcl
Userinfo TCL v1.07 loaded (URL BF GF IRL EMAIL DOB PHONE ICQ).
use '.help userinfo' for commands.
Nauth 2.1 by TiSmA©
Mybot
Writing channel file...
Userfile loaded, unpacking...
=== mybot: 3 channels, 1 users.
Launched into the background  (pid: 21284)

J'ai farfouillé sur le forum et ailleurs mais sans trouver de solutions autres que celles déjà en place comme mentionné ici.
Quelles pistes me conseillez vous d'explorer pour résoudre cela ? Je me tourne vers vous du coup ... Merci d'avance ! Smile
  Répondre   Avertir
#2
L'eggdrop 1.8 gère déjà l'UTF8 , donc il faut que tu retires ton convertto utf-8, tu n'as plus besoin de ce genre de procédure bancale, pour "contourner" le problème d'encodage, tu n'avais pas besoin de toucher aux sources de l'eggdrop non plus.
  Répondre   Avertir
#3
Salut,
Idée en passant ... Ton client irc habitul est-il bien configuré ? éventuellement essayer avec un autre ou un applet afin de verfiier.
Cordialement.
  Répondre   Avertir
#4
Merci, ksao ! J'ai cherché midi à quatorze heures, c'est bien mieux effectivement !

tcl
bind pub - !utf8 pub:utf8 
proc pub:utf8 { nick uhost handle chan arg } {
  pututf8 $chan "œ ç é à è ù â ê î ô û ë ï ü"
}
proc pututf8 { chan text } {
  putserv "PRIVMSG $chan :$text"
  return 1
}




Dur dur d'avoir le nez dans le guidon parfois. Smile
  Répondre   Avertir


Sujets apparemment similaires...
Sujet Auteur Réponses Affichages Dernier message
  [Bug] comment regsub altère l'encodage d'une chaîne de caractères MenzAgitat 6 3,915 27/02/2017, 02:01
Dernier message: MenzAgitat
  [Résolu] Problème d'encodage avec rss-synd Naruto 24 9,050 18/05/2014, 21:16
Dernier message: CrazyCat

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)