【发布时间】:2017-08-10 15:55:25
【问题描述】:
提前致谢。
我正在通过 php 5.5 脚本上传一个 .csv 文件,该脚本将其从 Unicode 转换为 UTF-8,最后将其保存在一个文件夹中。
然后我用 PHPExcel_IOFactory 读取这个文件并将一些数据捕获到一个数组中。到目前为止,一切都很好。文件上传并保存正常,但在转换过程中可能会弄乱数据,因为我得到的数组中的文本字符串充满了这样的空格:
array(20) {
["A"]=>
string(39) "
l : 1 7 0 4 8 0 8 8 8 6 4 9 2 3 5 9 "
["B"]=>
string(51) " 2 0 1 7 - 0 8 - 0 9 T 0 0 : 2 1 : 5 7 + 0 2 : 0 0 "
["C"]=>
string(41) " a g : 2 3 8 4 2 6 1 5 5 8 3 3 9 0 2 5 8 "
["D"]=>
bool(false)
["E"]=>
string(41) " a s: 2 3 8 4 2 6 1 5 5 8 3 3 7 0 2 5 8"
["F"]=>
string(29) " D E S A R R O L L O W E B "
也许是因为分隔符。在 sublime 上打开 .csv 会显示两个“空格”作为分隔符,所以如果我传递这样的内容:
$objReader->setDelimiter(' ');
它可以工作并读取数据,但会充满空格。关于如何从文件中获取干净数据的一些提示?
注意:使用 WAMP 可以像这样转换文件:
$conversion = iconv(mb_detect_encoding($conversion, mb_detect_order(),
true), "UTF-8", $conversion);
在生产环境中根本无法使用该转换(文件保存为空)
【问题讨论】: