Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Тексты > Как удалить из строки bom-символ


Автор: Gella7 16.8.2011, 19:59
Добрый день! Помогите мне кто-нибудь, уже замучалась
есть текстовый файл с содержанием типа

анна;иванова
светлана;степанова

я загружаю его содежжимое и формирую текст запроса, чтоб вставить данные эти в базу

Код

        $query = '';
        $row = 1;
        $handle = fopen("5.csv", "r");
        
        while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
            $num = count($data);
            $row++;
            $query = $query . 'INSERT INTO table_man SET date_man = "' . date('Y-m-d') .
                                '", name_man = "' . $data[0] . '", surname_man = "' . $data[1] . '"; ';
        }
        
        fclose($handle);
        mysql_query($query) or die(mysql_error());


данные не вставляются из-за того, что в начале второй строки есть символ, похожий на квадратик, если не ошибаюсь, это bom-символ
файл чистила от bom уже всяко разно, не знаю, что еще сделать
в первой строке нет такого
я так понимаю, надо вычестить саму полученную строку, а не весь файл, но не знаю как

Автор: ayax2005 16.8.2011, 22:17
http://forums.digitalpoint.com/showthread.php?t=592115

Автор: Gella7 17.8.2011, 08:15
Спасибо, но не помогло

Автор: smartov 17.8.2011, 08:53
Во первых у вас не экранируются данные в mysql запросе. (mysql_real_escape_string)
Во-вторых вам стило бы базу сделать в UTF-8 и забыть о проблеме.

Автор: Gella7 17.8.2011, 09:50
Цитата(smartov @  17.8.2011,  08:53 Найти цитируемый пост)
Во-вторых вам стило бы базу сделать в UTF-8 и забыть о проблеме.

пробовала, проблема остается
пробовала без переноса строк, без пробелов - и все равно там этот символ  smile 
ниче не пойму

Автор: JackGmen 20.8.2011, 20:59
выложите пример csv файла.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)