很多站长朋友们都不太清楚php下载csv乱码,今天小编就来给大家整理php下载csv乱码,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 csv文件打开乱码的解决方法 2、 php读取csv文件怎么是乱码 3、 PHP导出csv中文乱码 4、 thinkphp里面导入csv数据出现乱码怎么破 5、 php导入csv文件输出是乱码,怎么解决 csv文件打开乱码的解决方法csv文件打开乱码的解决方法,具体操作如下。
工具:excel工具、csv文件。
方法:1、直接用Excel打开下载的CSV文件,会看到汉字乱码,数字显示正常。
2、请先正常打开一份空白的excel文件,将鼠标定位在第一行第一列,这边鼠标定位的位置将决定后续打开的csv文件在excel中展示的位置。
3、在excel的上方菜单中点击数据,页面切换后,点击“自文本”。
4、在弹出的对话框中找到刚刚显示乱码的csv文件,点击“导入”按钮,。
5、在打开的对话框中选中“分隔符号”,在“文件原始格式”中编码选择UTF-8。设置好之后请点击“下一步”。
6、在跳转后的当前页中“分隔符号”处请勾选“逗号”,去掉“Tab键”前的勾选符号,。
7、点击“下一步”就可以预览效果了,这时候再点击“完成”页面就跳转到对话框,提示导入的数据的放置位置。
8、在导入位置中可以选择指定的单元格,也可以选择“新建工作表”进行数据的导入,设置好之后,点击“确定”就完成了csv文件的打开了。
php读取csv文件怎么是乱码出现乱码解决办法:
csv格式不是utf的,所以在读取和写入mysql的时候就会出现乱码,用iconv函数转换下即可。
$Name=iconv('gb2312','utf-8',$file);
PHP导出csv中文乱码中文简体xp的话默认使用gb2312作为码页,他打开一个文件时使用gb码来映射字符的。用gb2312码打开utf8的文件当然会乱码。
所以想在xp里导出,需要是
mb_convert_encoding($str,"CP936","GB2312")
如果已经下下来了或者php不好改,自己想转码,就是用个编辑器比如ue,ep,设置存储为utf8。xp sp3版本的话自己也可以另存为utf8
thinkphp里面导入csv数据出现乱码怎么破php读取csv文件,在windows上出现中文读取不到的情况,本人立马想到一个函数mb_convert_encoding();作如下设置 $str = mb_convert_encoding($str, "UTF-8", "GBK");然后就可以了。当然你也可以用iconv();作如下设置iconv(‘GBK’,”UTF-8//TRANSLIT//IGNORE”,$str);这两个函数来解决在windows上面发生乱码的问题。
php导入csv文件输出是乱码,怎么解决//这是我前几天回答过的一个问题下面以读取淘宝csv文件为例
if($result){ //如果上传成功了,这是文件路径
if (!($handle = fopen_utf8($result, "r")) === FALSE){ //调取下边函数fopen_utf8;
$errorArr = array();
$i=0;
while (($cols = fgetcsv($handle, 1000, "\t")) !== FALSE) {
++$i;
if($i<4) continue;
$taobaolmsx = $cols[21];//宝贝属性;
$taobaoxxsx = $cols[30];//销售属性;
$goodsBn = $cols[33];//商家编码;
}
fclose($handle);
}
unlink($result);
}else{
echo 'file upload error';exit;
}
/*读取csv文件用 */
function fopen_utf8($filename){
$encoding='';
$handle = fopen($filename, 'r');
$bom = fread($handle, 2);
rewind($handle);
if($bom === chr(0xff).chr(0xfe) || $bom === chr(0xfe).chr(0xff)){
// UTF16 Byte Order Mark present
$encoding = 'UTF-16';
} else {
$file_sample = fread($handle, 1000) + 'e'; //read first 1000 bytes
// + e is a workaround for mb_string bug
rewind($handle);
$encoding = mb_detect_encoding($file_sample , 'UTF-8, UTF-7, ASCII, EUC-JP,SJIS, eucJP-win, SJIS-win, JIS, ISO-2022-JP');
}
if ($encoding){
stream_filter_append($handle, 'convert.iconv.'.$encoding.'/UTF-8');
}
return ($handle);
}
关于php下载csv乱码的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php下载csv乱码 php下载文件名乱码的详细内容...