php提取csv格式文件中的字符串出现的问题及解决办法
Jun 13, 2016 am 09:35 AM
php带csv格式的数据要用到fgetcsv()函数。
用这下面的语句
$hd=fopen('test.csv','r'); $buf=fgetcsv($hd,1000,',');
取出的第一行代表自动含义,比如 id,messaget,time等等。
从第二行开始表示具体的数据,比如1,消息,12:00。
if($buf[1]=="some messages") echo "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与字符串“消息”比较,这时可以发现,它们终于相等了。

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Bagaimana untuk menulis format peti mel qq Apakah format peti mel qq?

Penjelasan terperinci tentang kaedah menukar jenis int kepada rentetan dalam PHP

Bagaimana untuk menentukan sama ada rentetan Golang berakhir dengan aksara yang ditentukan

Bagaimana untuk menyemak sama ada rentetan bermula dengan aksara tertentu dalam Golang?

Bagaimana untuk mengulangi rentetan dalam python_python mengulangi tutorial rentetan

Bagaimana untuk menyelesaikan masalah aksara Cina yang kacau apabila menukar perenambelasan kepada rentetan dalam PHP

Petua Padanan Rentetan PHP: Elakkan Ungkapan Disertakan Kabur

Manipulasi rentetan PHP: cara praktikal untuk mengalih keluar ruang dengan berkesan
