如何使用PHP创建保留日文字符的CSV文件?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何使用PHP创建保留日文字符的CSV文件?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1732字,纯文字阅读大概需要3分钟。
内容图文
![如何使用PHP创建保留日文字符的CSV文件?](/upload/InfoBanner/zyjiaocheng/824/071a9ccf9e9b442b91f84065de5a9539.jpg)
以下是我从浏览器创建和下载CSV文件的代码段.
$input_array[] = ['注文日時', '受注番号',];
$input_array[] = ['2015-09-30', 'INV-00001',];
/** open raw memory as file, no need for temp files, be careful not to run out of memory thought */
$f = fopen('php://memory', 'w');
/** loop through array */
foreach ($input_array as $line) {
/** default php csv handler **/
fputcsv($f, $line, ',');
}
/** rewrind the "file" with the csv lines **/
fseek($f, 0);
/** modify header to be downloadable csv file **/
header('Content-Encoding: UTF-8');
header('Content-Type: application/csv; charset=UTF-8');
header('Content-Disposition: attachement; filename="my_csv_file.csv";');
/** Send file to browser for download */
fpassthru($f);
die();
当我打开创建/下载的CSV文件时,日文字符成为奇怪的字符.我的代码段中还有什么不正确?如何在创建CSV文件时保留日文字符?
解决方法:
如果要强制任何程序将文件解释为UTF-8编码,只需在写第一行之前直接添加带简单回显的字节顺序标记:
$input_array[] = ['注文日時', '受注番号',];
$input_array[] = ['2015-09-30', 'INV-00001',];
echo "\xEF\xBB\xBF";/// Byte Order Mark HERE!!!!
/** open raw memory as file, no need for temp files, be careful not to run out of memory thought */
$f = fopen('php://memory', 'w');
/** loop through array */
foreach ($input_array as $line) {
/** default php csv handler **/
fputcsv($f, $line, ',');
}
/** rewrind the "file" with the csv lines **/
fseek($f, 0);
/** modify header to be downloadable csv file **/
header('Content-Encoding: UTF-8');
header('Content-Type: application/csv; charset=UTF-8');
header('Content-Disposition: attachement; filename="my_csv_file.csv";');
/** Send file to browser for download */
fpassthru($f);
die();
或者,当您使用Excel或Open Calc导入它时选择Unicode字符集,否则直接用记事本/ textedit /等打开它没有问题
内容总结
以上是互联网集市为您收集整理的如何使用PHP创建保留日文字符的CSV文件?全部内容,希望文章能够帮你解决如何使用PHP创建保留日文字符的CSV文件?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。