You are not logged in.
Pages: 1
Topic closed
Salut à tous,
Je viens de résoudre un problème qui me gêne depuis un petit moment. Je vais vous divulguer la solution que j’ai trouvée, car je ne pense pas être le seul à avoir eu ce problème.
Je suis en version 0.83.8, donc il est possible qu’une solution est été déployée dans les versions suivantes de GLPI.
Origine du problème : Problème d’encodage des caractères accentués, lorsqu’on souhaite ouvrir avec Excel le fichier CSV obtenu lors d’un export de donnés depuis GLPI.
On se retrouve avec ce genre d’affichage : Priorité
Explication du problème : Le fichier exporté est encodé en UTF-8, hors par défaut Excel ouvre le fichier CSV en ANSI, ce qui cause ces problèmes d’accentuation.
Solution au problème : Il faut indiquer à Excel que le fichier doit être ouvert en UTF-8.
Pour cela il faut ajouter 3 octets au début du fichier pour qu’Excel sache que le fichier doit être ouvert en UTF. Pour plus d’infos chercher BOM (byte order mark).
Répercutions dans le code : Pour appliquer cette solution, il faut ajouter une ligne de code dans le fichier search.class.php. Je rappelle je suis en version 0.83.8.
Dans la fonction static function showHeader($type, $rows, $cols, $fixed=0)
Quelques lignes plus basses vous trouverez :
case CSV_OUTPUT : // csv
header("Expires: Mon, 26 Nov 1962 00:00:00 GMT");
header('Pragma: private'); /// IE BUG + SSL
header('Cache-control: private, must-revalidate'); /// IE BUG + SSL
header("Content-disposition: filename=glpi.csv");
header('Content-type: application/octetstream');
break;
Il faut alors rajouter la ligne suivante, qui permet d’ajouter les 3 octets magiques :
echo"\xEF\xBB\xBF";
Ce qui vous donne au final :
case CSV_OUTPUT : // csv
header("Expires: Mon, 26 Nov 1962 00:00:00 GMT");
header('Pragma: private'); /// IE BUG + SSL
header('Cache-control: private, must-revalidate'); /// IE BUG + SSL
header("Content-disposition: filename=glpi.csv");
header('Content-type: application/octetstream');
echo"\xEF\xBB\xBF";
break;
Et voilà c’est fini.
J’espere que sa pourrait aider des GLPIens.
Source qui m’a permis de problème : http://www.skoumal.net/en/making-utf-8-csv-excel
Romain
Last edited by romain.vabre (2014-07-31 16:20:48)
Offline
Génial !
voilà une astuce qu'elle est bonne.
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
Excellent !
ça fait un petit bout de temps que ce problème nous chagrine
merci pour l'astuce
Offline
Impeccable, fonctionne nikel !
Merci !
Offline
Merci Romain.
Astuce super utile et qui fonctionne du tonnerre à ici. (seul les gens de l'Yonne peuvent comprendre cette foutu touche d'humour)
A+
GLPI 0.85.1 / Plugins Fusion : 085+1 / Agent : 2.3.14 < Serveur Centos 64 Bits>
Offline
Cette modification a été inclus dans le coeur. Je clos ce post
CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6 - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)
Offline
Pages: 1
Topic closed