PHP 语言中下载或导出 csv 文件时出现中文乱码的解决办法

学习笔记 马富天 2017-09-21 16:11:14 12 0

【摘要】本文博客中写过几篇关于 PHP 实现 csv 文件上传(导入)、下载(导出)的相关文章,但是这几篇文章中只提及到了如何解决 csv 导入过程中出现中文乱码的问题,而本文要解决一下 php 实现 csv 导出过程中出现中文乱码的解决方法。

之前写过的有关 csv 文件操作的文章如下:

http://www.mafutian.net/71.htmlhttp://www.mafutian.net/161.htmlhttp://www.mafutian.net/197.html

直接给出完整的解决办法:

  1. $data = array(
  2. 	0 => array(
  3. 		'id' => 'id',
  4. 		'name' => 'name',
  5. 		'age' => 'age',
  6. 		'sex' => 'sex'
  7. 	),		
  8. 	1 => array(
  9. 		'id' => 1,
  10. 		'name' => '马富天',
  11. 		'age' => '18',
  12. 		'sex' => '男'
  13. 	)
  14. );
  15. //	已读的方式打开 1.csv 文件,若 1.csv 不存在,则尝试创建它
  16. $handle = fopen('1.csv','w');
  17. foreach($data as $k => $fields)
  18. {
  19. 	//	解决办法 -- Begin
  20. 	foreach($fields as $key => $value)
  21. 	{
  22. 		//	输出的时候将 utf-8 编码转换成 gbk 编码即可,这里与 csv 导入过程是恰恰好相反的过程,导入是将 gbk 编码格式转成 utf-8 格式
  23. 		$fields[$key] = iconv("UTF-8","gbk",$value);
  24. 	}
  25. 	//	解决办法 -- End
  26. 	fputcsv($handle, $fields);
  27. }
  28. fclose($handle);

将以上的代码直接拷贝到 php 文件中可直接执行即可,如果将中间解决办法那段去掉,是会出现中文乱码的。执行结果如下图所示:

请输入图片名称请输入图片名称

版权归 马富天PHP博客 所有

本文标题:《PHP 语言中下载或导出 csv 文件时出现中文乱码的解决办法》

本文链接地址:http://www.mafutian.net/323.html

转载请务必注明出处,小生将不胜感激,谢谢! 喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

1

0

上一篇《 MySQL 数据库优化之--开启慢查询日志 》 下一篇《 提供一种 PHP 源代码加密和解密的方法 》
分享到:

暂无评论

评论审核未开启
表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情
验证码