php提取csv格式文件中的字符串出现的问题及解决办法

php带csv格式的数据要用到fgetcsv()函数。

用这下面的语句

$hd=fopen('test.csv','r');
$buf=fgetcsv($hd,1000,',');

打开一个test.csv格式的文件,文件中的内容以","号分开。

取出的第一行代表自动含义,比如 id,messaget,time等等。

从第二行开始表示具体的数据,比如1,消息,12:00。

if($buf[1]=="some messages") echo "yes";

按理说从第二行开始,这条语句输出的结果应该为yes,但是尝试之后你会发现没有输出。

这是为什么呢?

可以用strlen()函数来比较$buf[1]与“消息”的长度。

比较的结果竟然是不相等。

天啊,怎么会出现这种问题呢?明明第二行$buf[1]取出来的值是“消息”啊,怎么会长度不一样呢?

这与你的csv格式文件的编码方式有关。

怎么解决这个问题呢?

先用php的字符编码检测函数mb_detect_encoding($buf[1],'UTF-8,EUC-CN,ASSII'),

如果取出来的编码格式为“EUC-CN”,那就哟个下面的语句将其转换为utf8的编码格式,

用php的字符转换函数mb_convert_encoding(),$res=mb_convert_encoding($buf[1],'UTF-8','EUC-CN')。

将转换的结果$res与字符串“消息”比较,这时可以发现,它们终于相等了。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索文件
, 函数
, 编码
, 语句
, 格式
, 消息
, CSV格式
, mb_detect_encoding
fgetcsv
matlab 字符串写入csv、csv 字符串 数字、matlab csv 字符串、matlab读取csv 字符串、python csv写入字符串,以便于您获取更多的相关知识。

时间: 2024-10-31 11:00:46

php提取csv格式文件中的字符串出现的问题及解决办法的相关文章

php提取csv格式文件中的字符串出现的解决办法

  php带csv格式的数据要用到fgetcsv()函数. 用这下面的语句 $hd=fopen('test.csv','r'); $buf=fgetcsv($hd,1000,','); 打开一个test.csv格式的文件,文件中的内容以","号分开. 取出的第一行代表自动含义,比如 id,messaget,time等等. 从第二行开始表示具体的数据,比如1,消息,12:00. if($buf[1]=="some messages") echo "yes&q

关于从oracle 数据库中导出数据到csv格式文件中

问题描述 关于从oracle 数据库中导出数据到csv格式文件中 最近有个任务是从oracle中导出数据到csv 中的,因为数据库中的数据比较多,大概30万条,请问下,有哪个大神做个这种的,能不能导入这么大的数据 解决方案 将数据从DataGridView中导出成CSV格式文件oracle数据库的表数据导出为csv文件oracle数据库怎么导入csv格式文件呢 解决方案二: 不可以,分批导就行了 解决方案三: 可以使用常用的连接数据库的工具进行导入和导出,导出的时候导出行号,导入的时候建个表,行

asp.net中url字符串编码乱码问题与解决办法

先看实例  代码如下 复制代码  function webChart() {             var t = document.getElementById("txtReceive");             if (t.value == null || t.value == "") {                 alert("请先进行查询");             }             else {          

C#读取和写入CSV格式文件总结

最近需求要将数据保存到.csv文件(逗号分隔值 )中然后上传到ftp服务器上,供系统调用.CSV数据格式并没有非常统一的标准 但是为了避免出错 我们在开发的时候统一格式是这样的 "name","pwd","date" "张三","123","2015-09-30" 接下来代码处理中默认格式都是这样的 其实就是纯文本的形式 为什么要用csv文件 这就涉及到数据互通的问题,有些程序支持的表格

Excel打开csv格式文件并生成图形功能实现方案

在UNIX/LINUX服务器端生成了csv格式文件之后,有时需要根据csv文件的数据画图.这时可以把csv格式文件传输到windows端,然后再用Excel来处理. 直接用Excel打开时,所有数据都会挤在一列里. 我们可以新建一个Excel,然后点击"数据",再点击"自文本" 当数据生成标准的Excel之后,再点击"插入",选择"图表"中的各项,生成相应的图形.

awk 系列:如何使用 awk 和正则表达式过滤文本或文件中的字符串

当我们在 Unix/Linux 下使用特定的命令从字符串或文件中读取或编辑文本时,我们经常需要过滤输出以得到感兴趣的部分.这时正则表达式就派上用场了. 什么是正则表达式? 正则表达式可以定义为代表若干个字符序列的字符串.它最重要的功能之一就是它允许你过滤一条命令或一个文件的输出.编辑文本或配置文件的一部分等等. 正则表达式的特点 正则表达式由以下内容组合而成: 普通字符,例如空格.下划线.A-Z.a-z.0-9. 可以扩展为普通字符的元字符,它们包括: (.) 它匹配除了换行符外的任何单个字符.

php将数组转换成csv格式文件输出的方法

 本文实例讲述了php将数组转换成csv格式文件输出的方法.分享给大家供大家参考.具体实现方法如下: <?php $sales = array( array('east','2005-01-01','2005-02-01',12.54), array('west','2005-01-01','2005-02-01',546.33), array('south','2005-01-01','2005-02-01',93.26), array('north','2005-01-01','2005-0

Linux统计文件中指定字符串个数的2种方法

  统计一个文件中某个字符串的个数,其实就像在一块沙地里面找一块石头,有的人看到石头以后,在上面做个标记(grep),然后记住自己做了多少个标记;有的人看到石头以后,把它跳过去(awk),然后统计自己跳了多少次. 方法1: grep 代码如下: grep -o 'keyword' my_file.txt | wc -l 方法2: awk 代码如下: awk -v RS='keyword' 'END {print –NR}' my_file.txt

把两个文件中的不同之处提取到某个文件中去_DOS/BAT

复制代码 代码如下: @echo off :: 把两个文件中的不同之处提取到某个文件中去 :: cd.>3.txt for /f "tokens=1* delims=:" %%i in ('findstr /n . 1.txt') do ( for /f "tokens=1* delims=:" %%x in ('findstr /n . 2.txt') do ( if %%i equ %%x if not "%%j"=="%%y