- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Посмотрите файл во вложении, совсем маленький, на 4 строки. Копипаст не работает, эффект теряется! Попробуйте его запустить, что выдаст.
Из-за этой непонятности долго думал, почему strpos добавляет лишние 3 символа к позиции. Возможно, это какая-то известная feature?
Уже вижу, что некоторые редакторы узрели кучу служебных символов. PHP же не хочет.
А с UTF-8 проблем не будет? А то файл в нём, в мануале много функций именно для UTF-8
LEOnidUKG, а вот не знаю даже. Не встречался в практике.
п » ї
который в первой строке перед ; а во второй строке после ; это последовательность 0xEF, 0xBB, 0xBF - BOM
http://ru.wikipedia.org/wiki/UTF-8#.D0.9F.D0.BE.D1.80.D1.8F.D0.B4.D0.BE.D0.BA_.D0.B1.D0.B0.D0.B9.D1.82.D0.BE.D0.B2_.28BOM.2C_.D1.81.D0.B8.D0.B3.D0.BD.D0.B0.D1.82.D1.83.D1.80.D0.B0.29
Например: В файле записана одна латинская буква "a".
Если кодировка этого файла UTF-8 with Signature, то он будет содержать: EF BB BF 61
Если кодировка этого файла UTF-8 (без сигнатуры), то он будет содержать: 61
он как бы "не виден" в utf-8, потому что http://ru.wikipedia.org/wiki/Byte_order_mark
однако вполне себе заметен если открывать файл в ansi/cp1251 или бинарном редакторе.
ord функция "Возвращает ASCII-код первого символа строки string" (а не в юникоде), первый символ тут действительно получается разный, поэтому в первом случае это "п", а во втором это ";" соответственно. Или конвертируйте все в cp1251/ascii или работайте в utf-8.
К strpos это тоже относится.
edogs, доходчиво, спасибо!
---------- Добавлено 24.03.2012 в 21:46 ----------
Про BOM, конечно же, знал, но не ожидал встретить посреди обрабатываемой строки! Точка с запятой — разделитель CSV, который надо распарсить.