Heim > Backend-Entwicklung > PHP-Tutorial > fgetcsv读取不了中文

fgetcsv读取不了中文

WBOY
Freigeben: 2016-06-23 13:52:42
Original
1315 Leute haben es durchsucht

已设置setlocale(LC_ALL, 'zh_CN'),但在读取csv文件的时候,有时不能读取里面的中文,这是为什么?跟系统系统好像有关系!


回复讨论(解决方案)

文档编码和系统编码相同吗,不相同的话iconv把文档编码转成系统编码。

我已经用txt另存为utf8格式!

fgetcsv有BUG。

用这个函数吧。


function _fgetcsv(& $handle, $length = null, $d = ',', $e = '"') {     $d = preg_quote($d);     $e = preg_quote($e);     $_line = "";     $eof=false;     while ($eof != true) {         $_line .= (empty ($length) ? fgets($handle) : fgets($handle, $length));         $itemcnt = preg_match_all('/' . $e . '/', $_line, $dummy);         if ($itemcnt % 2 == 0)             $eof = true;     }     $_csv_line = preg_replace('/(?: |[ ])?$/', $d, trim($_line));     $_csv_pattern = '/(' . $e . '[^' . $e . ']*(?:' . $e . $e . '[^' . $e . ']*)*' . $e . '|[^' . $d . ']*)' . $d . '/';     preg_match_all($_csv_pattern, $_csv_line, $_csv_matches);     $_csv_data = $_csv_matches[1];     for ($_csv_i = 0; $_csv_i < count($_csv_data); $_csv_i++) {         $_csv_data[$_csv_i] = preg_replace('/^' . $e . '(.*)' . $e . '$/s', '$1' , $_csv_data[$_csv_i]);         $_csv_data[$_csv_i] = str_replace($e . $e, $e, $_csv_data[$_csv_i]);     }     return empty ($_line) ? false : $_csv_data;}
Nach dem Login kopieren

fgetcsv的bug就是读取不了中文。。。

确实,感觉即使5.3了,对多字节的支持还是不是很好

其实是 php5.3 出问题了

问题出来了,原来不是fgetcsv的问题,微软的问题,用excel保存得到的csv文件的格式不对,本来csv文件应该用“"”对单元格中的值环绕,用“,”进行分割,但用excel生成的csv对中文字符处理不够强大,所以出了问题,你用记事本打开就知道了。

@qizhiping: 为啥我按你#7的做了还不行,好像fgetcsv得到的csv文件放到数组中能够打印出来中文,但是中文却存入不到数据库中。

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage