You are not logged in.
Bonjour,
j'utilise glpi 0.78 et webservices 1.0, et je me suis rendu compte qu'il y avait un souci de charset.
Mon appli utilise l'encodage ISO-8859-1, et quand je crée un ticket qui contient des caractères UTF-8 (par exemple tout simplement le symbole €, ou œ...), les caractères sont mal rentrés dans la base de données GLPI.
J'ai dû patcher xmlrpc.php avec un :
$chaine = str_replace(chr(0xC2).chr(0x80) , chr(0xE2).chr(0x82).chr(0xAC), $chaine);
Mais impossible donc de le faire avec tous les caractères.
J'ai tenté des iconv, utf8_encode, etc... toujours pareil.
Merci pour votre aide ou la prise en compte du souci pour une correction.
Si vous avez un patch en attendant la prochaine version stable je suis preneur.
Offline
Mon appli utilise l'encodage ISO-8859-1,
Pff... les trucs obsolètes...
Il suffit d'ajouter, dans les paramètres, l'option iso8859, et, ça doit fonctionner.
Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/
Offline
Il suffit d'ajouter, dans les paramètres, l'option iso8859, et, ça doit fonctionner.
Ça serait avec plaisir, mais où ? Car je ne vois pas d'options dans la page Plugins Services Web dans GLPI
Offline
c'est une option non documenté (usage trop spécifique)
Il faut l'ajouter, comme les autres, dans le hashtable passé lors de l'appel.
P.S. uniquement supportée en xmlrpc (ni en soap, ni en rest)
Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/
Offline
Malheureusement ceci ne règle pas le problème, car si on parle de la même fonction, elle décode le flux XML de l'UTF-8 vers l'ISO8859, alors que mon souci est que j'ai des données au format ISO8859, que je veux transmettre à GLPI qui lui est au format UTF-8, et à part faire le str_replace du premier post pour le symbole euro, les conv, etc... n'y font rien.
Offline
Effectivement, elle redresse la réponse
Doc, c'est au client d'envoyer les données en UTF-8
Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/
Offline
Si seulement c'était aussi facile
Il s'agit d'une grosse application et il est impossible de tout ré-encoder, c'est pour cela qu'on met en place une passerelle dans GLPI afin de migrer en douceur.
De plus je ne comprends pas, comme je l'ai spécifié dans le premier post, pourquoi le conversion ne fonctionne pas, car l'application envoie bien en ISO-8859-1, et les iconv vers UTF-8, ou utf8_encode ne donne rien, alors que dans d'autres modules dans cette application (notamment les impressions en PDF), ces conversions fonctionnent.
Offline