окончание строчки в уникоде-лишний символ.

SPP

Новичок
окончание строчки в уникоде-лишний символ.

Вопрос такой.
SELECT `dirname` FROM `table`
две записи. первую запись создал скрипт, запущенный апачем. вторую запись создал этот же скрипт, запущенный в консоли.
dirname один и тот же.
для первой записи.
var_dump(file_exists($tablerows['dirname']));
bool(true)
var_dump(file_exists($tablerows['dirname']).'/data');
bool(true)

для второй записи

var_dump(file_exists($tablerows['dirname']));
bool(true)
var_dump(file_exists($tablerows['dirname']).'/data');
!!!! bool(false) !!!!!

на конце у имени директории BOM для уникода, что ли возникает. какой-то символ, видно когда побайтово разлагаешь строчку.
откуда-понять не могу, 65001 UTF-8.
Какие разночтения есть?
 

tz-lom

Продвинутый новичок
BOM это маркировка ставящаяся в начало
я так понимаю что скрипты вендовые,а значит есть шанс окончания строки на \r\n (виндовый перевод строк)
для решения проблемы со скриптом - оный в студию
а так можешь попробовать завернуть в trim ,лишнее барахло должно обрезаться(по идее)
 

SPP

Новичок
trim пробовал. я знаю что BOM в начале. я просто уже ХЗ почему так.
 

tz-lom

Продвинутый новичок
во первых надо знать на что охотиться
проблема скорее всего в настройках локали
 

Вурдалак

Продвинутый новичок
PHP:
var_dump(bin2hex($tablerows['dirname']));
из того и другого скриптов в студию.
 

SPP

Новичок
Да уже выпилил багу... Оказалось, что консоли и апачу достались разные версии, вот один и отрабатывал неверно(старый, времен Наполеона под Москвой).
2 в 1 - и все заработало.
скрипт то один и тот же был, контекст запуска отличался только
 
Сверху