首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP fputcsv编码

PHP fputcsv编码
EN

Stack Overflow用户
提问于 2012-09-19 13:15:17
回答 6查看 25.3K关注 0票数 7

我用fputcsv创建了csv文件。我希望csv文件是在windows1251编码。但是找不到解决方案。我该怎么做呢?干杯

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-09-19 13:21:05

excel文件的默认编码是特定于计算机的ANSI,主要是windows1252。但是,由于您正在创建该文件,并且可能会插入UTF-8字符,因此该文件将无法正常处理。

您可以在创建文件时使用iconv()。例如:

代码语言:javascript
复制
function encodeCSV(&$value, $key){
    $value = iconv('UTF-8', 'Windows-1252', $value);
}
array_walk($values, 'encodeCSV');
票数 11
EN

Stack Overflow用户

发布于 2014-12-12 18:10:05

它起作用了:享受吧

在fputcsv之前使用:

代码语言:javascript
复制
$line = array_map("utf8_decode", $line);
票数 11
EN

Stack Overflow用户

发布于 2012-09-19 13:27:13

该文件将采用字符串所采用的任何编码方式。PHP字符串是原始字节数组,它们的编码取决于字节的来源。如果您只是从源代码文件中读取它们,则它们位于您保存源代码的任何位置。如果它们来自数据库,则它们采用数据库连接设置的任何编码。

如果需要从一种编码转换为另一种编码,请使用iconv。如果您需要更深入的信息,请查看此处:

  • What Every Programmer Absolutely, Positively Needs To Know About Encodings And Character Sets To Work With Text
  • Handling Unicode Front To Back In A Web App
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12488954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档