2013-09-06 17 views
5

I Export csv mit Befehl direkt von mysql wollenWie Export csv von mysql utf8

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

Diese Arbeit perfekt, aber kodieren nicht, ist utf8.How machen die UTF-8-Codierung exportiert Inhalte?

+0

Bitte nehmen Sie sich einen Blick auf diese u eine Vorstellung bekommen. http://stackoverflow.com/questions/17108249/export-data-from-mysql-to-excel-with-utf-8-encoding –

Antwort

13

Wie unter SELECT ... INTO Syntax dokumentiert:

SELECT ... INTO OUTFILE ist das Komplement von LOAD DATA INFILE. Spaltenwerte werden in den Zeichensatz konvertiert, der in der Klausel CHARACTER SET angegeben ist. Wenn keine solche Klausel vorhanden ist, werden die Werte mit dem Zeichensatz binary ausgegeben. In der Tat gibt es keine Zeichensatzkonvertierung. Wenn eine Ergebnismenge Spalten in mehreren Zeichensätzen enthält, wird auch die Ausgabedatei verwendet, und Sie können die Datei möglicherweise nicht korrekt neu laden.

Die Grammatik wird unter SELECT Syntax dokumentiert:

[INTO OUTFILE 'file_name' 
     [CHARACTER SET charset_name] 

Deshalb:

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

# 1064 - Sie haben einen Fehler in Ihrer SQL-Syntax; Überprüfen Sie das Handbuch, das Ihrer MySQL-Server-Version für die richtige Syntax in der Nähe 'CHARACTER SET utf8 – cawecoy

+0

@ cawecoy entspricht: Siehe [Wie kann ich MySQL Fehler # 1064 beheben?] (http://stackoverflow.com/q/23515347) – eggyal

+0

@eggyal der Punkt ist, dass es scheint, ein Syntaxfehler Problem mit dem, was Sie geschrieben haben, weil die UTF8-Option nicht in PHPMYADMIN kommt http://i.imgur.com/jYKZqjI.png – barlop