0

mysqlデータベースから結果を取得し、Excelファイルを作成しています。ただし、英語の文字は正しく表示されますが、ギリシャ文字は記号として表示されます(判読不能)。

これが私が現時点で持っているコードです:

//function cleanData(&$str){ 
    // replace fields that _ACCOUNT_DELETE and turn Capital letters into small
    //$str=strtolower($str);
//}

// file name for download 
$filename = "customers" . date('Ymd') . ".xls";
header("Content-Disposition: attachment; filename=\"$filename\"");
header("Content-Type: application/vnd.ms-excel");
    header('Content-Transfer-Encoding: utf-8');

$flag = false;
$query="SELECT * FROM customers";
$result = mysql_query($query);
while(false !== ($row = mysql_fetch_assoc($result))){
    if(!$flag){
    // display field/column names as first row
        echo "Customers\n";
        $flag = true; 
    } 
    //array_walk($row, 'cleanData'); 
    echo implode("\t", array_values($row)) . "\n";
}

データベースエンコーディングはlatin1_swedish_ci

どんな助けでも深く感謝されます。

4

1 に答える 1

0

このクエリを最初に実行します。

mysql_query( "SET NAMES utf8"); 

そして、それらをエコーする前に htmlentities を使用します。

echo htmlentities($data);

これについてはわかりませんが、試してみてください

 mysql_set_charset('utf8');
于 2012-10-29T11:03:36.637 に答える