2016-06-28 4 views
1
<?php 
include('db.php'); 

//header to give the order to the browser 
header('Content-Type: text/csv'); 
header('Content-Disposition: attachment;filename=exported-data.csv'); 

//select table to export the data 
$select_table=mysql_query('select * from User'); 
$rows = mysql_fetch_assoc($select_table); 

if ($rows) 
{ 
getcsv(array_keys($rows)); 
} 
while($rows) 
{ 
getcsv($rows); 
$rows = mysql_fetch_assoc($select_table); 
} 

// get total number of fields present in the database 
function getcsv($no_of_field_names) 
{ 
$separate = ''; 


// do the action for all field names as field name 
foreach ($no_of_field_names as $field_name) 
{ 
if (preg_match('/\\r|\\n|,|"/', $field_name)) 
{ 
$field_name = '' . str_replace('', $field_name) . ''; 
} 
echo $separate . $field_name; 

//sepearte with the comma 
$separate = ','; 
} 

//make new row and line 
echo "\r\n"; 
} 
?> 

Здравствуйте, пожалуйста, помогите мне с проблемой Unicode. Этот сценарий выше отлично работает, он экспортирует все, что мне нужно, но все данные, которые написаны в Unicode-экспорт, например: «??????»Экспорт данных из mysql с символами Unicode

Может ли кто-нибудь помочь мне с модификацией этого скрипта?

спасибо.

+0

выполнить 'mysql_query (" SET NAMES 'utf8'; ");' после подключения и результата с выходом в utf-8. – Fredster

+0

Что такое набор символов для ваших таблиц db? 'utf8' в mysql поддерживает ограниченное количество символов, –

+0

После добавления mysql_query (" SET NAMES 'utf8'; "); результат: "?????" изменено на: бѓ-бѓќбѓ бѓњбѓбѓ ™ бѓ " – Levan

ответ

0
  1. Изменение таблицы сортировки в UTF8

  2. В заголовке добавить следующее:

    заголовок ('Content-Transfer-Encoding: бинарная'); header ("Content-Type: text/csv; charset = utf-8")

  3. Вы также можете попробовать mb_convert_encoding().

Вы также можете проверить эту ссылку. How can I output a UTF-8 CSV in PHP that Excel will read properly?

+0

Я добавил заголовок ('Content-Transfer-Encoding: binary'); но тот же результат. :( – Levan

+0

table collation - UTF8 – Levan

+0

Вы добавили 'content-type'? –

Смежные вопросы