Topic: Collecte Registre caractère accentué Perl guru please

Bonjour,
Un gros malin avait déployé une clef de registre avec le chemin suivant:

HKLM\SOFTWARE\blabla\Mise à jour\CurrentVersion

FusionInventory-Agent v2.4 ne trouve pas le chemin comprenant le caractère 'à'.
Sur le serveur on a le message : "Erreur Path not found" dans le détail du suivi des taches.
Sur plusieurs milliers de postes windows 7, je dois faire une recherche dans ce chemin.
Comment dire à Perl que nous sommes compliqués en france ?
Mais surtout comment remonter dans glpi ces informations ?

Re: Collecte Registre caractère accentué Perl guru please

Une histoire d'encodage, peut-être ?

Re: Collecte Registre caractère accentué Perl guru please

Bonjour,

oui, c'est bien un problème d'encodage.

Je vois bien comment faire côté agent pour corriger ce genre de problème et j'ai testé et validé.

Il faut savoir que le serveur va envoyer le "à" en encodage UTF-8 et évidemment ce n'est pas l'encodage standard des clefs en base de registre. Sur nos plateformes en français, c'est à priori du "cp1252".

Peux-tu côté serveur remplacer le "à" par "%e0" ? C'est le code en cp1252, mais je n'ai pas testé comment ça finit par être passé à l'agent. Mais je reste perplexe.
Sinon essaies d'écrire le nom de la clé dans un fichier texte genre notepad, puis essaies de copier/coller depuis le fichier texte... Il faut juste s'assurer que le fichier texte est bien sauvé en cp1252 et non en utf-8. Peut-être que notepad++ te permet de voir çà.

Re: Collecte Registre caractère accentué Perl guru please

Re,

j'ai testé dans le plugin. La copie depuis un fichier encodé en cp1252 semble avoir fonctionné pour moi.

Sinon, il y a une autre méthode qui consiste à aller éditer la table correspondante, mais seulement si c'est dans tes cordes car une mauvaise manip peut avoir un impact définitif sur ta table...
Dans ce cas, il faut chercher la ligne de ta tâche de collecte dans la table `glpi_plugin_fusioninventory_collects_registries` et remplacer le "à" par "\x{e0}". Cette notation a du sens pour perl et sera interprété comme il faut par l'agent, mais si on rentre cela dans le champ du formulaire, le "\" sera remplacé par "\\" et cela casse la tentative d'encodage. Je ne donne volontairement aucune requête SQL pour que ce soit fait par quelqu'un de compétent.