我在PHP中有一个CSV字符串,被mb_detect_encoding检测为UTF8。此字符串被写入文件。当我在文本编辑器(程序员记事本)中打开它时,编辑器说它是UTF8 No Mark,当我将编码更改为ANSI时,它在Excel中正确打开。我想用ANSI编写这个文件,这样在用Excel打开它之前,我不需要在文本编辑器中转换它。试图使用以下方法:
使用utf8_decode,特殊字符显示为问号。凯特夫和mb_convert_encoding在第一个特殊人物的时候剪掉了丝杠。知道如何将此字符串放入在Excel中打开的文件中吗?
发布于 2015-12-16 14:29:25
因此,您可能导出了您可爱的数据库,完美地存储在UTF-8编码中,然后在Excel中打开csv,然后看到一堆看上去很疯狂的字符,在那里应该是?
好吧,这里有一个修正:在文件中添加一个Byte-Order-Mark。Excel只是非常需要它..。
function customer_download($file) {
header('Content-Type: application/force-download');
header('Content-Description: File Transfer');
header('Content-disposition: attachment; filename="'.$file.'"');
@include_once('file_get_contents.php');
$csv = @file_get_content($file);
die(chr(0xEF).chr(0xBB).chr(0xBF).$csv);
}https://stackoverflow.com/questions/25195056
复制相似问题