以下は、ルートフォルダーにユニコード文字でデータを書き込む方法です
<?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"
正しいデータを確認できます
したがって、問題は、このドキュメントをインポートせずに開く方法です( 「他のソースから」 )。後でこのドキュメントを顧客に渡す必要があるためです (すべてのデータを表示する前に、インポートについて知っていて、いくつかの設定を行うかどうかはわかりません)。