我用fputcsv创建了csv文件。我希望csv文件是在windows1251编码。但是找不到解决方案。我该怎么做呢?干杯
发布于 2012-09-19 13:21:05
excel文件的默认编码是特定于计算机的ANSI,主要是windows1252。但是,由于您正在创建该文件,并且可能会插入UTF-8字符,因此该文件将无法正常处理。
您可以在创建文件时使用iconv()。例如:
function encodeCSV(&$value, $key){
$value = iconv('UTF-8', 'Windows-1252', $value);
}
array_walk($values, 'encodeCSV');发布于 2014-12-12 18:10:05
它起作用了:享受吧
在fputcsv之前使用:
$line = array_map("utf8_decode", $line);发布于 2012-09-19 13:27:13
该文件将采用字符串所采用的任何编码方式。PHP字符串是原始字节数组,它们的编码取决于字节的来源。如果您只是从源代码文件中读取它们,则它们位于您保存源代码的任何位置。如果它们来自数据库,则它们采用数据库连接设置的任何编码。
如果需要从一种编码转换为另一种编码,请使用iconv。如果您需要更深入的信息,请查看此处:
https://stackoverflow.com/questions/12488954
复制相似问题