Bonjour,
J'ai une table dont le charset est en utf-8 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 create table index( id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT, nom VARCHAR(255) NOT NULL, )DEFAULT CHARACTER SET=utf8;
Lorsque que je veux l'exporter depuis PHP, j'utilise le code suivant :
Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 mysql_query("set names 'utf8'"); $var = mysql_query('show variables'); while ($res = mysql_fetch_row ($var)){ echo ("<p>$res[0] : $res[1]</p>"); } // ceci affiche (entre autres) : // character_set_client : utf8 // character_set_connection : utf8 // character_set_database : latin1 // character_set_filesystem : binary // character_set_results : utf8 // character_set_server : latin1 // character_set_system : utf8 // character_sets_dir : /usr/share/mysql/charsets/ // collation_connection : utf8_general_ci // collation_database : latin1_swedish_ci // collation_server : latin1_swedish_ci mysql_query('SELECT * FROM index INTO OUTFILE '/tmp/index.txt');
Mon problème est que les accents s'affichent mal dans le fichier index.txt, par exemple :
22 édition
Pourtant, le fichier 'index.txt' est bien en utf-8 (d'après la commande 'file');
Lorsque je consulte la base de données depuis le terminal (affichage en utf-8) tout s'affiche bien..
J'ai consulté la doc de SELECT ... OUTFILE mais je n'arrive pas à voir d'où vient le problème. Est-que quelqu'un aurait une idée ?
Merci.
Partager