>  기사  >  백엔드 개발  >  csv导出姓名生僻字变问号

csv导出姓名生僻字变问号

WBOY
WBOY원래의
2016-06-23 13:37:262564검색

csv导出的数据
用户姓名这一列,有几个用户的名字中带有生僻字的都变成了“?”,大部分用户的中文名字都ok,
导之前已经iconv("UTF-8","GBK",$username);但是对生僻字无效果。
生僻字如“?”,“?”,“?”,“?”


回复讨论(解决方案)

“?”,“?”,“?”,“?” 既然已收入 GBK 中,就不算生僻字了。
辞海中有十多万字,GBK 才收录了两万多点

应该是你在某处指定了字符集为 GB2312 了吧

估?是使用了其他字符集?致。

csv导出的数据
用户姓名这一列,有几个用户的名字中带有生僻字的都变成了“?”,大部分用户的中文名字都ok,
导之前已经iconv("UTF-8","GBK",$d->realname);但是对生僻字无效果。
生僻字如“?”,“?”,“?”,“?”

foreach($datas as $d)
{
$d->realname=iconv("UTF-8","GBK",$d->realname);
}
$contents = View::make('user.info_csv')->with(compact('datas'));
$response = Response::make($contents, 200);
$response->header('Content-Type', 'text/csv;charset=gb2312');
$response->header('Content-Disposition', 'attachment; filename="用户信息.csv"');
return $response;

找到问题了,mac机导出遇到生僻字就变成问号了,windows下导出正常。

不知道你的那些类是怎么写的,简单的测试一下

header("Content-type: text/csv;charset=gb2312");header("Content-Disposition: attachment; filename=用户信息.csv");echo '"?","?","?","?"';

并没有问题的

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.