【发布时间】:2014-01-25 15:05:11
【问题描述】:
我在导入 csv 文件时遇到问题... 下面的代码给了我这样的东西:
array(3) { [0]=> string(1) "" [1]=> string(23) "Entfernung " [2]=> string(19) "1.3042 km" }
如您所见,字符数与真实单词不匹配(“Entfernung”没有 23 个字符...)...
更深入的研究表明,不知何故,每个字符后面都有一个“不可见”的空白(例如。“E n t f e r n u n g”)...
我怎样才能摆脱它/或防止它?
代码($files = 带有文件名的数组):
for ($i=0; $i < count($files); $i++) {
$handle = fopen($files[$i], "r");
while ($proc_file = fgetcsv($handle,0,",",";")) {
var_dump ($proc_file);
echo "<br>";
}
拆分例如“Entfernung”(=$proc_file[1]):
$test = $proc_file[1];
for ($a=0; $a < strlen($test); $a++) {
echo $test[$a]."-";
}
给我
-E--n--t--f--e--r--n--u--n--g-- --
【问题讨论】:
-
很确定这意味着 23 个字节,而不是 23 个字符。
-
都是ascii字符吗?
-
您最好修复生成 CSV 文件的代码。
-
a) 我无法修复文件 - 它由 android 应用程序自动生成 b) 我认为这些是 ASCII 字符(但我不确定) c) 我认为这意味着 23 个字符.. . $var = "ABC DEF"; --> string(7) "ABC DEF"
-
那些不是不可见的空格,它是 2 字节字符编码。这里是否存在实际错误或问题,或者您只是不喜欢字节数?
标签: php csv removing-whitespace