我试图通过'fgetcsv()'函数在php中导入CSV,但CSV文件有一些隐藏的字符,这些字符没有显示在Excel或记事本中,我只能在浏览器控制台中看到一个字符。
我试图通过trim()
,utf8_decode()
以及preg_replace()
删除这些字符,但没有解决方案。
trim($value, ' \t\n\r\0\x0B\x00..\x1F\x09\0x0A');
preg_replace($value, '/[\x00-\x1F\x7F]/u', '', $value);
最后,我在以下CSV file面临问题,请提供一个解决方案,如何在导入时删除红点(。)字符。
答案 0 :(得分:2)
看起来好像在文件开头有UTF8的字节顺序标记(来自https://en.wikipedia.org/wiki/Byte_order_mark)。您可以使用...
删除它if ( substr($value,0,3) === chr(239).chr(187).chr(191)) {
$value = substr($value, 3);
}
或
$value = trim($value, chr(239).chr(187).chr(191));