2016-04-20 3 views
1
Below are my code used to generate csv file. 
My problem is UTF-8 characters are not coming correctly. 
even I tried iconv also, but no result. 

PHP CODE 
----------------- 

$ con = mysql_connect ('localhost', 'root', ''); $ db_selected = mysql_select_db ('test', $ con); mysql_query ("SET NAMES utf8"); $ qry_res = mysql_query ("SELECT * FROM table 2");Export to CSV in UTF-8 für Excel mit PHP

$filename = "test.csv"; 
$fp = fopen('php://output', 'w'); 
//$header = array('id','name'); 
$header = array("Id","Name"); 
header('Content-type: application/csv;charset=utf-8'); 
header('Content-Disposition: attachment; filename='.$filename); 
fputcsv($fp, $header); 

while($data = mysql_fetch_row($qry_res)){ 
    fputcsv($fp, $data); 
} 

exit; 
------------------------------------------ 
Table value: 
----------------------- 
Id Name 
2 traducción de idiomas 
3 תרגום שפות 
4 language translation 
7 Tłumaczenie na język 

Result: 
Id Name 
2 traducción de idiomas 
3 ????? ???? 
4 language translation 
7 T?umaczenie na j?zyk 

Thanks in advance. 
+0

Nicht sicher. Verwenden Sie den Inhaltstyp "text/csv; charset = UTF-8", da die Anwendung Binärdaten ohne Codierung bedeutet. Es scheint, dass die Ausgabecodierung Single-Byte-Latin-1 ist. Und vielleicht möchten Sie am Anfang des Inhalts eine Stückliste zur Unicode-Identifikation unter Windows schreiben: U + FEFF, in Java '" \ uefeff "' über PHP vergessen. –

+0

Excel ist notorisch schlecht, wenn es um UTF-8 geht; Am besten erstellen Sie wahrscheinlich nur eine UTF-8-CSV-Datei (die Sie anscheinend gerade machen) und dann in Excel einen Datenimport. Sie können dann die Zeichencodierung der Datei angeben, wenn Sie sie importieren ... oder etwas wie Open Office verwenden. – CD001

Antwort

3

Versuchen folgenden nach dem Header hinzufügen:

echo "\xEF\xBB\xBF"; // BOM header UTF-8 
+0

Haben Sie es versucht @Sakthi – KiwiJuicer

+0

Es funktioniert gut .. Entschuldigung für die späte Antwort Vielen Dank. – Sakthi

+0

Danke für die Antwort. Vielleicht möchten Sie dies als die richtige Antwort akzeptieren, Prost – KiwiJuicer