Page 1 sur 2

[Résolu] encodage de caractère avec synchro ldap

Posté : mer. 18 janv. 2017 14:53
par augras
Bonjour,
Je teste depuis hier gestsup et il conviendrait bien pour mon usage : bravo et merci pour cette application.
je n'ai pas trouver de sujet en rapport avec mon soucis.
Lors de la synchro ldap les noms et prénoms sont rapatriés avec un problème d'encodage de caractère (pas de soucis pour les mails ni les identifiants mais c'est uniquement je pense parce que il n'y a rien qui pose problème dans ces champs).
J'utilise par ailleurs la synchro ldap sans problème.
Où puis-je agir pour corriger ce problème ?
Merci,
Philippe

EDIT : je suis sur la dernière version stable sans patch.

Re: encodage de caractère avec synchro ldap

Posté : mer. 18 janv. 2017 17:56
par Flox
Bonjour,

pouvez vous nous donner le numéro de version de l'application ?

S'agit t il d'un serveur AD ou OpenLDAP ?

Car de notre coté nous n'observons pas d'anomalie:
Screenshot - 18_01_2017 , 17_55_14.png
Screenshot - 18_01_2017 , 17_55_14.png (3.33 Kio) Vu 7193 fois
Cdt

Re: encodage de caractère avec synchro ldap

Posté : ven. 20 janv. 2017 08:55
par augras
Bonjour,
Dernière version stable sans patch, 3.1.7, serveur AD mais via samba4.
Ce qui est étonnant c'est que je n'ai pas ce problème avec l'appli de gestion des congés.
Bonne journée,
Philippe

Re: encodage de caractère avec synchro ldap

Posté : ven. 20 janv. 2017 09:13
par Flox
Bonjour,

pouvez vous faire un test en modifiant le fichier ./core/ldap.php:

remplacer:

Code : Tout sélectionner

$givenname=utf8_encode($data[$i]['givenname'][0]);
$sn=utf8_encode($data[$i]['sn'][0]);
par

Code : Tout sélectionner

$givenname=$data[$i]['givenname'][0];
$sn=$data[$i]['sn'][0];
re-faites un synchro, et dites nous si les nom prenom ont toujours des problèmes ?

Merci

Re: encodage de caractère avec synchro ldap

Posté : ven. 20 janv. 2017 11:40
par augras
Merci, ça fonctionne maintenant sans soucis.
Avec l'api j'ai également un problème d'encodage : je supprime également charset=utf8 ?
Philippe

Re: encodage de caractère avec synchro ldap

Posté : lun. 23 janv. 2017 19:54
par Flox
sur l'api vous pouvez tester remplacer la ligne:

Code : Tout sélectionner

$charset='utf8'; //database charset default utf8
par

Code : Tout sélectionner

$charset='';
cdt

Re: encodage de caractère avec synchro ldap

Posté : mer. 1 févr. 2017 11:57
par augras
Bonjour,
Merci pour la réponse.
Mais ça ne fonctionne pas, message d'erreur : Error : SQLSTATE[HY000] [2019] Can't initialize character set (path: /usr/share/mysql/charsets/)
Par contre ça fonctionne si j'encadre le code par :

Code : Tout sélectionner

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
<body>
code de l'api
</body>
</html>
Philippe

Re: encodage de caractère avec synchro ldap

Posté : mer. 1 févr. 2017 12:27
par Flox
Effectivement l'API est destiné à être appelée dans une autre page web qui doit contenir des balises HTML correctement formé avec un encodage en UTF-8.


cdt

Re: encodage de caractère avec synchro ldap

Posté : mer. 1 févr. 2017 12:50
par augras
Parfait.
Je modifie donc car j'appelle d'une autre page avec simplement la ligne de code pour appeler : je mets mon code au bon endroit.
Merci,
Philippe

Re: encodage de caractère avec synchro ldap

Posté : mer. 1 févr. 2017 13:49
par Flox
J'ajoute votre code en commentaire dans l'API si d'autres personne sont dans le même cas que vous.

Cdt