<?php

//获取csv数据
    function csvencode($file){
        if(!is_file($file['tmp_name'])){
            return;
        }
        $handle=fopen($file['tmp_name'],'r');

$content = fread($handle, filesize($file['tmp_name']));
        $content = convert2utf8($content);

$data=explode("\n",$content);

$i=1;
        $arr=array();
        foreach($data as $o){

if(!ctype_space($o) && !empty($o)){

$arr[$i]=explode(',',$o);
                $i++;
            }

}

return $arr;

}

//转换为utf8编码
    function convert2utf8($content)
    {

mb_detect_order("UTF-8, GBK, ISO-8859-1"); //探测顺序
        $encoding = mb_detect_encoding($content);//获取编码
        if ($encoding && strtolower($encoding) !== 'utf-8') {
            $content = iconv($encoding, 'UTF-8//IGNORE', $content);
        }
        return $content;
    }

php获取csv数据无乱码的更多相关文章

  1. java的IO流包装不当导致从网页获取的数据出现乱码

    从网页上获取数据时必须要注意字符集的问题.处理不慎确实苦不堪言. 例如通过URL连接时,将字节流InputStream包装成字符流(以便直接存为String)时,一定要注意加上charsetName这 ...

  2. Dapper操作MySQL数据库获取JSON数据中文乱码

    前言 在项目中利用Dapper将JSON数据存储到MySQL数据库,结果发现JSON数据中的中文乱码,特此记录,希望对存储JSON的童鞋能有所帮助,文中若有错误之处,还望批评指正. Dapper获取J ...

  3. servlet获取request数据的乱码解决

    例如请求中有: /score?type=Mana&name=${user.name} ***************************************************** ...

  4. php向mariaDB插入数据时乱码问题解决 --- mysqli_set_charset(设置默认字符编码)

    参考文章: https://www.w3schools.com/php/func_mysqli_set_charset.asp http://php.net/manual/zh/mysqli.set- ...

  5. 使用JAVA API读取HDFS的文件数据出现乱码的解决方案

    使用JAVA api读取HDFS文件乱码踩坑 想写一个读取HFDS上的部分文件数据做预览的接口,根据网上的博客实现后,发现有时读取信息会出现乱码,例如读取一个csv时,字符串之间被逗号分割 英文字符串 ...

  6. Spark使用Java、Scala 读取mysql、json、csv数据以及写入操作

    Spark使用Java读取mysql数据和保存数据到mysql 一.pom.xml 二.spark代码 2.1 Java方式 2.2 Scala方式 三.写入数据到mysql中 四.DataFrame ...

  7. 用ajax获取后台数据,返回json数据,怎么在前台使用?

    用ajax获取后台数据,返回json数据,怎么在前台使用呢?后台 C# code   ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 if (dataType == &qu ...

  8. Spring MVC3返回JSON数据中文乱码问题解决(转)

    Spring MVC3返回JSON数据中文乱码问题解决 查了下网上的一些资料,感觉比较复杂,这里,我这几使用两种很简单的办法解决了中文乱码问题. Spring版本:3.2.2.RELEASE Jack ...

  9. form提交数据中文乱码问题总结

    一:form在前台以post方式提交数据: 浏览器将数据(假设为“中国”)发送给服务器的时候,将数据变成0101的二进制数据(假设为98 99)时必然要查码表,浏览器以哪个码表打开网页,浏览器就以哪个 ...

随机推荐

  1. nginx和apache作为webserver的差别

    1.两者所用的驱动模式不同. nginx使用的是epoll的非堵塞模式事件驱动. apache使用的是select的堵塞模式事件驱动. 2.fastcgi和cgi的差别 当用户请求web服务的时候.w ...

  2. 【Struts2二】结果集(result-type)

    在jsp/servlet中,结果集一般是指请求转发和重定向这两种. Struts2作为框架,提供了基于这两种的很多其它的结果集! 在struts-default.xml中定义了一些默认的结果集:   ...

  3. Thinkphp 无法使用-&gt;order() 排序的两种解决的方法!

    使用ThinkPHP,却发现无法使用->order($order)来排序. $order = " info.date2 desc "; 非常遗憾的是这样写结果order却变成 ...

  4. What's the difference between returning void and returning a Task?

    http://stackoverflow.com/questions/8043296/whats-the-difference-between-returning-void-and-returning ...

  5. 福建省赛-- Common Tangents(数学几何)

    Problem B Common Tangents Accept: 191    Submit: 608 Time Limit: 1000 mSec    Memory Limit : 32768 K ...

  6. zzulioj--1822--水水更健康(水题)

    1822: 水水更健康 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 49  Solved: 19 SubmitStatusWeb Board Des ...

  7. HBase框架基础(四)

    * HBase框架基础(四) 上一节我们介绍了如何使用HBase搞一些MapReduce小程序,其主要作用呢是可以做一些数据清洗和分析或者导入数据的工作,这一节我们来介绍如何使用HBase与其他框架进 ...

  8. Android项目实战(五十七):Glide 高斯模糊效果

    核心需要高斯模糊的库 compile 'jp.wasabeef:glide-transformations:2.0.1' 针对于3.7的版本 使用方法为: //加载背景, Glide.with(Mus ...

  9. php时间戳转化成时间相差8小时问题

    php时间戳 转化成时间的时候 $mytime=time(); echo $mytime.'<br />'; echo date('Y-m-d H:i:s',$mytime); 会产生8个 ...

  10. 洛谷 P2486 [SDOI2011]染色 LCT

    Code: #include <cstdio> //SDOI2010 染色 #include <algorithm> #include <cstring> #inc ...