我一直在制作一个程序,从另一个源CSV(用'SJIS'/ SHIFT-JIS编码)创建多个CSV。这是我创建它们的过程:
使用PHP提供的库方法创建一个zip存档,并使用addFromString()将我想要的文件附加到相应的字符串中
代码:
$ zipFileName =“output.zip”;
$zip = new ZipArchive;
if ($zip->open($zipFileName, ZipArchive::CREATE) === TRUE){
$zip->addFromString('customer.csv', $contents2);
...do for the other files
$zip->close();
}
else{
echo 'Failed! File not created!';
}
现在这是我的问题:当我在Notepad ++中打开时,我从zip文件创建的文件以“UTF-8无BOM”编码。但是,我要求这些文件只是简单的“UTF-8”。由于我以外的原因,我用来上传这些文件的库存程序不会显示CSV编码的“UTF-8无BOM”的正确字符。一旦我手动:打开文件,将其重新编码为“UTF-8”,并保存它们,文件是否能够在此库存程序中显示正确的字符。
我已经阅读了大量文章,讨论了这个问题的相反问题,人们试图让他们的UTF-8文件在没有BOM的情况下编码。但是,我的情况恰恰相反。如果有一个简单的PHP解决方案,我会非常欢迎您的帮助!感谢您的阅读!!
答案 0 :(得分:-2)