2013-09-06 4 views
5

Je veux exporter csv directement à partir de MySQL avec la commandecsv export de MySQL UTF8

SELECT .... 
FROM ... 
INTO OUTFILE '/tmp/export.csv' 
FIELDS TERMINATED BY ',' 
ESCAPED BY '\\' 
LINES TERMINATED BY '\n' ; 

Ce travail parfaitement, mais encode pas est-utf8.How rendre le contenu exporté l'encodage UTF8?

+0

S'il vous plaît jeter un oeil à ce u faire une idée. http://stackoverflow.com/questions/17108249/export-data-from-mysql-to-excel-with-utf-8-encoding –

Répondre

13

Comme documenté sous SELECT ... INTO Syntax:

SELECT ... INTO OUTFILE est le complément de LOAD DATA INFILE. Les valeurs de colonne sont écrites converties en le jeu de caractères spécifié dans la clause CHARACTER SET. Si aucune clause de ce type n'existe, les valeurs sont exportées à l'aide du jeu de caractères binary. En effet, il n'y a pas de conversion de jeu de caractères. Si un jeu de résultats contient des colonnes dans plusieurs jeux de caractères, le fichier de données de sortie le sera également et vous ne pourrez peut-être pas recharger le fichier correctement.

La grammaire est documentée sous SELECT Syntax:

[INTO OUTFILE 'file_name' 
     [CHARACTER SET charset_name] 

Par conséquent:

SELECT .... 
FROM ... 
INTO OUTFILE '/tmp/export.csv' 
CHARACTER SET utf8 
FIELDS TERMINATED BY ',' 
ESCAPED BY '\\' 
LINES TERMINATED BY '\n' ; 
+0

# 1064 - Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à votre version du serveur MySQL pour la bonne syntaxe à utiliser près de 'CHARACTER SET utf8 – cawecoy

+0

@ cawecoy: Voir [Comment puis-je corriger l'erreur MySQL # 1064?] (http://stackoverflow.com/q/23515347) – eggyal

+0

@eggyal le point est qu'il semble y avoir un problème d'erreur de syntaxe avec ce que vous avez écrit parce que l'option utf8 ne vient pas dans phpmyadmin http://i.imgur.com/jYKZqjI.png – barlop