Valider 9b1c0f23 rédigé par cerdic's avatar cerdic
Parcourir les fichiers

exporter_csv() : une option charset permet maintenant de definir le charset...

exporter_csv() : une option charset permet maintenant de definir le charset explicitement, independamment du delimiteur
si le charset n'est pas explicite, il est selectionne comme avant en fonction du delimiteur
parent 7a54799e
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+10 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -73,6 +73,7 @@ function exporter_csv_ligne($ligne, $delim = ',', $importer_charset = null) {
 *   string $delim : delimiteur
 *   array $entetes : tableau d'en-tetes pour nommer les colonnes (genere la premiere ligne)
 *   bool $envoyer : pour envoyer le fichier exporte (permet le telechargement)
 *   string $charset : charset de l'export si different de celui du site
 * @return string
 */
function inc_exporter_csv_dist($titre, $resource, $options = []) {
@@ -93,6 +94,7 @@ function inc_exporter_csv_dist($titre, $resource, $options = []) {
		'delim' => ', ',
		'entetes' => null,
		'envoyer' => true,
		'charset' => null,
	];
	$options = array_merge($default_options, $options);

@@ -112,8 +114,15 @@ function inc_exporter_csv_dist($titre, $resource, $options = []) {
	} else {
		$extension = 'xls';
		# Excel n'accepte pas l'utf-8 ni les entites html... on transcode tout ce qu'on peut
		$importer_charset = $charset = 'iso-8859-1';
		$charset = 'iso-8859-1';
	}
	// mais si une option charset est explicite, elle a la priorite
	if (!empty($options['charset'])) {
		$charset = $options['charset'];
	}

	$importer_charset = (($charset === $GLOBALS['meta']['charset']) ? null : $charset);

	$filename = "$filename.$extension";

	$output = '';