2013-09-06 4 views
5

Chcę csv eksport bezpośrednio z mysql z poleceniemJak CSV eksport z MySQL utf8

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

tę pracę doskonale, ale kodowanie nie znaczy utf8.How uczynić treść eksportowany kodowanie utf8?

+0

Proszę spojrzeć na to u dostanie jakąś ideę. http://stackoverflow.com/questions/17108249/export-data-from-mysql-to-excel-with-utf-8-encoding –

Odpowiedz

13

Jak udokumentowano pod SELECT ... INTO Syntax:

SELECT ... INTO OUTFILE jest dopełnieniem LOAD DATA INFILE. Wartości kolumn są zapisywane jako konwertowane na zestaw znaków określony w klauzuli CHARACTER SET. Jeśli nie ma takiej klauzuli, wartości są zrzucane przy użyciu zestawu znaków binary. W efekcie nie ma konwersji zestawu znaków. Jeśli zestaw wyników zawiera kolumny w kilku zestawach znaków, plik danych wyjściowych również będzie dostępny i może nie być możliwe ponowne załadowanie pliku poprawnie.

Gramatyka jest udokumentowana zgodnie SELECT Syntax:

[INTO OUTFILE 'file_name' 
     [CHARACTER SET charset_name] 

Dlatego:

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

# 1064 - Masz błąd w swojej składni SQL; sprawdź instrukcję, która odpowiada twojej wersji serwera MySQL dla właściwej składni do użycia w pobliżu 'CHARACTER SET utf8 – cawecoy

+0

@ cawecoy: Zobacz [Jak naprawić błąd MySQL # 1064?] (http://stackoverflow.com/q/23515347) – eggyal

+0

@eggyal chodzi o to, że wydaje się, że problem z błędem składni dotyczy tego, co napisałeś, ponieważ opcja utf8 nie pojawia się w phpmyadmin http://i.imgur.com/jYKZqjI.png – barlop