J’ai passé pas mal de temps aujourd’hui pour trouver une solution à ce problème pourtant fort simple:
Exporter dans un CSV des données venant d’une base Mysql en UTF8 (avec des accents un peu partout) avec un script lui même encodé en UTF8.
Et bien vous pouvez me croire et demander confirmation à Ludo, c’est pas si simple, à tel point que la solution est perdue dans un message du site www.php.net sur la page de l’extension mbstring: utiliser le charset UTF-16LE
Pour faire court, voici un exemple de code PHP qui fonctionne:
header("Content-type: application/vnd.ms-excel; charset=UTF-16LE");
header("Content-disposition: attachment; filename=candidats-" .date("Y-m-d").".csv");
$out = fopen('temp.csv', 'w');
$line = array('nom', 'prénom', 'âge', 'matricule');
fputcsv($out, $line);
fclose($out);
$ret = file_get_contents('temp.csv');
echo chr(255).chr(254).mb_convert_encoding( $ret, 'UTF-16LE', 'UTF-8');
Merci beaucoup, ça marche au poil !
Mais de rien, ca fait plaisir de voir que c’est utile à d’autres
Ouh yeah, tu m’as fait gagner une après-midi de galère
Marche impec, vive Microsoft et son encodage tchétchène
alors, une après midi de 4 heures à 80 € HT de l’heure, ça nous fait donc du 320€ HT, allez j’suis sympa, j’arrondis à 300
j’envoie la facture à quelle adresse ?
Elle Est Belle
35 quai d’anjou
75004 Paris
Mais on est à 500€/jour so… t’es un peu dur
pis je sais pas si mon chef de projet va être OP ^^
En tout cas, gloire à Microsoft et ses normes pourraves
Owii owii !!!! <3
J'ai passé une journée entière à tenter de trouver une solution pour faire lire a excel de l'UTF-8 ! Et je tombe sur ce post qui me fait marcher mon bousin :p
Merci
This will be helpfull for a long time !
Fallait commencer par là
Je vais le mettre en sticker sur ma home pour qu’on le trouve plus facilement
Génial Merci ! Je mettrai un lien sur mon blog