PHP导出csv中文乱码
在win7和vista系统下,显示中文都没问题,但在XP下就是乱码已经用mb_convert_encoding($str,"CP936","UTF-8")进行转码谢谢你的...
在win7和vista系统下,显示中文都没问题,但在XP下就是乱码
已经用mb_convert_encoding($str,"CP936","UTF-8")进行转码
谢谢你的回答,但我还是不太明白,刚试验,也没解决问题,XP下中文还是乱码。
可能我的提问不太详细,是这样的: 服务器操作系统是linux,操作系统编码是UTF-8,客户端有一个导出按钮,点击后会下载一个csv文件,如果是在win7或vista系统下下载,中文显示是正常的,而在XP系统下下载,中文显示是乱码,急求解
这个问题很诡异,测试的时候,有两台xp系统的机子导出中文是乱码,但昨天又测试一台xp机子,导出中文是正常的。虽然两位没有解决我的问题,依然感谢你们的回答。分只能给一个人,没办法哈 展开
已经用mb_convert_encoding($str,"CP936","UTF-8")进行转码
谢谢你的回答,但我还是不太明白,刚试验,也没解决问题,XP下中文还是乱码。
可能我的提问不太详细,是这样的: 服务器操作系统是linux,操作系统编码是UTF-8,客户端有一个导出按钮,点击后会下载一个csv文件,如果是在win7或vista系统下下载,中文显示是正常的,而在XP系统下下载,中文显示是乱码,急求解
这个问题很诡异,测试的时候,有两台xp系统的机子导出中文是乱码,但昨天又测试一台xp机子,导出中文是正常的。虽然两位没有解决我的问题,依然感谢你们的回答。分只能给一个人,没办法哈 展开
3个回答
展开全部
中文简体xp的话默认使用gb2312作为码页,他打开一个文件时使用gb码来映射字符的。用gb2312码打开utf8的文件当然会乱码。
所以想在xp里导出,需要是
mb_convert_encoding($str,"CP936","GB2312")
如果已经下下来了或者php不好改,自己想转码,就是用个编辑器比如ue,ep,设置存储为utf8。xp sp3版本的话自己也可以另存为utf8
所以想在xp里导出,需要是
mb_convert_encoding($str,"CP936","GB2312")
如果已经下下来了或者php不好改,自己想转码,就是用个编辑器比如ue,ep,设置存储为utf8。xp sp3版本的话自己也可以另存为utf8
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
优质机构答主
2021-01-19 · 百度认证:广东太平洋互联网信息服务有限公司官方账号,优质数码...
关注
展开全部
解压文件出现中文乱码怎么办解决办法
华为Mate50 Pro曲面旗舰手机
¥6799
苹果 AirPods Pro 2代
¥1699
索尼65英寸4K HDR专业游戏电视
¥7499
惠普战66五代15.6英寸轻薄本
¥4399
查
看
更
多
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
header("Content-Type: text/csv");
header("Content-Disposition: attachment; filename=".iconv( "UTF-8","gbk","所有参与用户").".csv");
header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
header('Expires:0');
header('Pragma:public');
echo(iconv( "UTF-8","gbk","编号,手机号码,日期\n"));
$sql = "select * from reply order by adddate asc";
$pm = 1;
$query = $GLOBALS['db']->query($sql);
while(@$row = mysql_fetch_array($query,MYSQL_ASSOC)){
$s = $pm.",".$row['pn'].",".date("Y-m-d H:i:s",$row['adddate'])."\n";
echo(iconv( "UTF-8","gbk",$s));
$pm++;
}
header("Content-Disposition: attachment; filename=".iconv( "UTF-8","gbk","所有参与用户").".csv");
header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
header('Expires:0');
header('Pragma:public');
echo(iconv( "UTF-8","gbk","编号,手机号码,日期\n"));
$sql = "select * from reply order by adddate asc";
$pm = 1;
$query = $GLOBALS['db']->query($sql);
while(@$row = mysql_fetch_array($query,MYSQL_ASSOC)){
$s = $pm.",".$row['pn'].",".date("Y-m-d H:i:s",$row['adddate'])."\n";
echo(iconv( "UTF-8","gbk",$s));
$pm++;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询