Перейти к содержимому

Сервис обмена электронных валют

Партнерская программа Kredov

Fgetcsv() - не все буквы

#1 gaaarfild

gaaarfild
  • Пользователь
  • 596 сообщений
  • Репутация: 0
0

Отправлено 07 Сентябрь 2010 - 16:21

Я читаю файл при помощи функции fgetcsv(), Кодировка файла - UTF-8 Without BOM. Кодировка скриптов такая же.
Локаль указана setlocale(LC_ALL, 'ru_RU.UTF-8');

Но, почему-то некоторые буквы не считываются в переменные.
Например номер машины A778CE - а он считывает только 778CE. Весь массив пробовал распечатать, - эта буква даже не записывается в переменную массива.
В чем моя ошибка?

 

 

  • 0

#2 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 07 Сентябрь 2010 - 19:46

gaaarfild, почитай про fgetcsv()
Возможно у тебя именно в этом проблема:

Замечание: Эта функция принимает во внимание настройки локали. К примеру, если LANG установлен в en_US.UTF-8, то файлы в однобайтовой кодировке будут неправильно прочитаны этой функцией.

У тебя скорее всего однобайтовая кодировка файла CSV.
  • 0

#3 gaaarfild

gaaarfild
    Topic Starter
  • Пользователь
  • 596 сообщений
  • Репутация: 0

Отправлено 07 Сентябрь 2010 - 22:05

Кодировка UTF-8 без BOM. Она разве однобайтная?
  • 0

#4 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 07 Сентябрь 2010 - 22:40

gaaarfild, нет она многобайтовая, но почему у тебя глотает буквы данная функция сказать не могу, попробуй без данной функции распечатать файл в браузер, если там не глотает, то возможно версия PHP старая, в старой версии PHP были проблемы с данной функцией.
  • 0

#5 gaaarfild

gaaarfild
    Topic Starter
  • Пользователь
  • 596 сообщений
  • Репутация: 0

Отправлено 08 Сентябрь 2010 - 02:38

Версия PHP - 5.2.
Распечатаю, сообщу результат.
  • 0


Оформление форума – IPBSkins.ru