Экспорт данных из MySQL с Unicode-символами

<?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, экспортируются как: «??????»

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

Спасибо.

1

Решение

  1. Изменить сопоставление таблицы на UTF8

  2. В шапке добавьте это:

    заголовок («Content-Transfer-Encoding: двоичный файл»);
    заголовок («Content-Type: text / csv; charset = utf-8»)

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

Вы можете проверить эту ссылку также.Как я могу вывести UTF-8 CSV на PHP, который Excel будет читать правильно?

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]