Экспорт данных из MySQL в Excel с кодировкой UTF-8

У меня есть mysql строка сutf8_general_ci сопоставление, когда я экспортирую его в CSV, вместо правильных символов UTF-8 я получаюĆ…ā€¦I и т.д., как заставить Excel понять кодировку UTF-8, вот мой код:

$conn = mysql_connect('localhost', 'root', 'asdfggh') or die(mysql_error());
mysql_query("SET CHARACTER SET utf8"); 
mysql_query("SET NAMES utf8"); 
mysql_select_db('table_name', $conn) or die(mysql_error($conn));

$query = sprintf('SELECT * FROM sudraba_birzs');
$result = mysql_query($query, $conn) or die(mysql_error($conn));

header('Content-Encoding: UTF-8');
header('Content-type: text/csv; charset=UTF-8');
header('Content-Disposition: attachment; filename="'.date("d-m-Y_H:i") . '.csv'.'"'); 
echo "\xef\xbb\xbf";

$row = mysql_fetch_assoc($result);
if ($row) {
    echocsv(array_keys($row));
}

while ($row) {
    echocsv($row);
    $row = mysql_fetch_assoc($result);
}

function echocsv($fields)
{
    $separator = '';
    foreach ($fields as $field) {
        if (preg_match('/\\r|\\n|,|"/', $field)) {
            $field = '"' . str_replace('"', '""', $field) . '"';
        }
        echo $separator . $field;
        $separator = ',';
    }
    echo "\r\n";
}

Как его экспортировать, чтобы все символы правильно отображались (чтобы Excel понимал utf-8) и как поддерживать макет таблицы (со строками и столбцами)

Ответы на вопрос(3)

Ваш ответ на вопрос