MySQL Forums
Forum List  »  French

[résolu ]exporter des données en utf-8 avec select ... outfile
Posted by: e ponyo
Date: July 31, 2009 11:00AM

Bonjour,
J'ai une table dont le charset est en utf-8 :

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 :

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.


EDIT 3/08/2009 : Problème résolu.

Le problème est résolu.
J'avais fait deux erreurs :
Premièrement, je n'avais pas indiqué à la creation de la database contenant la table index que cette database était en utf-8. J'aurais du utiliser la commande :
CREATE DATABASE maBaseDeDonnees DEFAULT CHARACTER SET utf8

Deuxièmement, j'aurais du utiliser la commande " SET NAMES 'utf8'; " à chaque connexion à mysql (depuis le terminal ou depuis les scripts PHP).



Edited 1 time(s). Last edit at 08/03/2009 06:14AM by e ponyo.

Options: ReplyQuote


Subject
Views
Written By
Posted
[résolu ]exporter des données en utf-8 avec select ... outfile
8686
July 31, 2009 11:00AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.