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.
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. –
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