Парсинг CSV на PHP

voodoo911
На сайте с 11.03.2008
Offline
157
354

Добрый день.

Столкнулся с такой проблемой. Есть файл CSV 

Содержимое файла

login,email,own_shares
c2,c2@pa.com,2
c3,c3@pa.com,2


Паршу его через 

$data = fgetcsv($handle, 2000, ","))


Когда делаю дамп первой строки получаю 

array(3) {
  [0]=>
  string(8) "login"
  [1]=>
  string(5) "email"
  [2]=>
  string(10) "own_shares"
}

Тоесть php считает что login имеет длинну 8, что есть не верно. Просмотрел на наличие скрытых симыолов и т.д. - ничего нету, пробовал добавить trim - все равно возвращает длинну 8.

Пробовал считать длинну через mb_strlen - то же 8.

Как такое может быть ?





lutskboy
На сайте с 22.11.2013
Offline
179
#1
сохраните без BOM в utf-8 csv файл
S
На сайте с 13.10.2014
Offline
171
#2
откройте исходник в hex редакторе. Там могут быть пустые символы в UTF-8 отсюда и 8 байт, вместо 5
voodoo911
На сайте с 11.03.2008
Offline
157
#3
Спасибо, перекодировка решила вопрос

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий