0

以下は、ルートフォルダーにユニコード文字でデータを書き込む方法です

<?php
mysql_connect('localhost','root','');
mysql_query ("set character_set_client='utf8'"); 
mysql_query ("set character_set_results='utf8'"); 
mysql_query ("set collation_connection='utf8_general_ci'"); 
mysql_select_db('test') or die('3');

$q = mysql_query("SELECT * FROM `t1`");
$d = '';
while ($r = mysql_fetch_array($q)) {
    $d .= $r['col1'];
}

function writeUTF8File($filename,$content) {
    $f=fopen($filename,"w");

    # Now UTF-8 - Add byte order mark
    fwrite($f, pack("CCC",0xef,0xbb,0xbf));
    fwrite($f,$content);
    fclose($f);
}

writeUTF8File('utf.csv', $d);
?>

しかし、Microsoft Office Excel 2007 でこのドキュメントを開くと、データは次のようになります。

ここに画像の説明を入力

簡単な調査を行った後、使用してインポートする必要があり、"From Other Sources"正しいデータを確認できます

ここに画像の説明を入力

したがって、問題は、このドキュメントをインポートせずに開く方法です( 「他のソースから」 )。後でこのドキュメントを顧客に渡す必要があるためです (すべてのデータを表示する前に、インポートについて知っていて、いくつかの設定を行うかどうかはわかりません)。

4

1 に答える 1