Open ncharles opened 2 years ago
Hello, I will try with your entries
The problem is that we use the operating system for convert (source) to utf-8. I'm trying a method to identify the encoding of string, will require couple days before have answer
I've been trying to remove the convertion without success Apparently TieRegistry only uses Ansi methods rather than Unicode (and it goes a long way of being like that https://www.perlmonks.org/?node_id=456194 )
My idea is to detect the encoding with https://metacpan.org/pod/Encode::Detect::Detector, the complete string or perhaps for each character. Not sure it can works, but perhaps :D
Hi, Is there anything I can do to help on this issue?
Hi, I tried my idea and not fix the problem, but have part of interessing information. Need a little more time to find a solution ^_^
Bon ça a l'air de venir de la récupération des données, car elles sont remplacées par des ??? directement. Le support des charsets est vraiment mal foutu dans Windows.
Je cherche des possibilités de contourner ces problèmes pour avoir des données fiables. Je te tiens au courant ;)
Les charsets ne sont pas supportés par les méthodes sous-jacentes dans TieRegistry qui appellent Win32API::Registry en mode ANSI, donc les infos sont perdus à ce moment là
Oui c'est ce que j'ai vu, donc la seule solution serait de changer de lib et pas mal de code :(
Comment peut-on aider ?
En première étape : identifier une lib perl qui permettrai d'interroger le registre sans altération de l'encodage.
A priori, juste retirer la lib pour utiliser les methodes sous-jacentes devrait fonctionner
Oui j'ai regardé ce matin, je vais faire un test avec la lib de bas niveau utilisé par tieregistry, Je te fait un retour ce soir certainement ;)
J'ai pris quelques heures pour lire la doc et faire des tests. Il y a des avancées, j'arrive à récupérer la valeur; alors elle est encore encodée, je dois la décoder de la bonne façon (mais c'est toujours mieux que les ???? :p)
je continuerai vendredi mes tests.
Merci à @peckpeck / Normation pour l'aide sur la problématique d'encodage. La correction est fonctionnelle, je dois modifier le code pour utiliser la nouvele fonction ;)
Les modifications sont en cours dans toute la partie windows, ça devrait être prêt dans le courant de la semaine ;)
Salut @ddurieux As-tu besoin d'aide pour avancer? Merci !
j'ai pris du retard :( il me faudra tester quand ça sera prêt, car il risque d'y avoir des effets de bords (même si j'essaye de les corriger lors des modifications de code.
@ddurieux comment peut on aider ? Si tu veux, on peut tester ce que tu as fait?
Oui je veux bien pour les test, je prépare une archive ce week end afin que vous puissiez tester lundi ;)
Bonjour @ddurieux,
As-tu une archive à nous transmettre afin que l'on puisse tester ?
Bonjour @ddurieux je me permets de te relancer concernant l'archive, n'hésite pas à nous faire savoir si tu as besoin d'aide, nous serons ravis de pouvoir t'aider !
Bonjour ! Est-ce qu'on peut aider pour résoudre ce ticket ?
On peut se faire un point vocal discord demain à partir de 14h ?
je peux te proposer 16h30 si ca te va
ok parfait ;)
Voici la PR : https://github.com/fusioninventory/fusioninventory-agent/pull/1047
Tu peux faire un test (génération d'un export local) avec la version actuelle et un test avec ces fichiers là (génération d'un export local) et comparer les 2 fichiers?
If there are Windows softwares with non-ascii characters, they show up as ??? ???? in the inventory
To reproduce, you may create dummy entries with cyrilic characters
esulting inventory will return
<NAME>Microsoft Office Proofing Tools 2013 <C3><82><C2><96> ?????????</NAME>
I've tried to
use feature 'unicode_strings';
all around the codeAnd i'm a bit stuck there... do you know what I could do ?