Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2009, 12:23   #1
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию Работа с BOM

Ребят нужно как-то убрать из txt файл BOM?
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума Ответить с цитированием
Старый 02.12.2009, 12:29   #2
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

что блин за BOM ?
SkyM@n вне форума Ответить с цитированием
Старый 02.12.2009, 12:33   #3
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

Открыть файл в
-редакторе который умеет сохранять utf-8 без bom и сохранить
-открыть файл в редакторе кот bom не понимает и удалить 2 символа в начале и сохранить

или если файлов много то писать прогу, кот убирает bom
http://unicode.org/faq/utf_bom.html#utf8-1

---
Цитата:
что блин за BOM ?
метка в начале файла, указывающая, что файл в формате uft-8 : EF BB BF и тд
ps Намучался я с этим бомом.
Стрелок-охотник

Последний раз редактировалось mv28jam; 02.12.2009 в 12:37.
mv28jam вне форума Ответить с цитированием
Старый 02.12.2009, 12:40   #4
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

Как я вас понимаю, но мне как-то нужно это делать скриптом. Есть скрипт?
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума Ответить с цитированием
Старый 02.12.2009, 14:07   #5
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

Если файлов много то скриптом, если немного то с помощью редактора.

Скрипта нет. Скрипт будет 10 строк.
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 02.12.2009, 16:55   #6
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

а можешь написать скрипт? пожалуйста
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума Ответить с цитированием
Старый 02.12.2009, 17:45   #7
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

PHP код:
function no_bom($in){
    
$fh=fopen($in,'r');
    
$bom=fread($fh3);
    if(
bin2hex($bom)=='efbbbf'){; 
        
$content=fread($fhfilesize($in)-3);
        
fclose($fh);
        
file_put_contents($in,$content);
    }else 
fclose($fh);
}
no_bom('test.txt'); 
Сделал как форумчанину, обычно я только подсказываю.

Я и все мои знакомые программисты за такие мелочи берём как правило 50-100$.
Стрелок-охотник

Последний раз редактировалось mv28jam; 02.12.2009 в 18:15.
mv28jam вне форума Ответить с цитированием
Старый 02.12.2009, 19:33   #8
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

спасибо, большое. Просто пришлось делать большую работу, а потом спокнулась об это, и не туда и не сюда
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума Ответить с цитированием
Старый 02.12.2009, 20:04   #9
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

Цитата:
Сообщение от mv28jam Посмотреть сообщение
PHP код:
function no_bom($in){
    
$fh=fopen($in,'r');
    
$bom=fread($fh3);
    if(
bin2hex($bom)=='efbbbf'){; 
        
$content=fread($fhfilesize($in)-3);
        
fclose($fh);
        
file_put_contents($in,$content);
    }else 
fclose($fh);
}
no_bom('test.txt'); 
Сделал как форумчанину, обычно я только подсказываю.



Не работает
Вот ссылка на текстовый файл: http://narod.ru/disk/15599837000/50.txt.html

я вообще не понимаю что еще можно сделать..
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума Ответить с цитированием
Старый 03.12.2009, 08:30   #10
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

Sparky, я сделал скрипт который работает с файлами utf-8, а ваши файлы в utf-16 little-endian.
вот скрипт для utf-16(little-endian big-endian)
PHP код:
function no_bom_utf16($in){
    
$fh=fopen($in,'r');
    
$bom=bin2hex(fread($fh2));
    if(
$bom=='fffe' or $bom=='feff'){; 
        
$content=fread($fhfilesize($in)-2);
        
fclose($fh);
        
file_put_contents($in,$content);
    }else 
fclose($fh);
}
no_bom_utf16('50.txt'); 
Стрелок-охотник

Последний раз редактировалось mv28jam; 03.12.2009 в 11:14.
mv28jam вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача. Работа с псевдослучайными последовательностями (ПСП). Работа с цветом. 0101 Помощь студентам 3 17.12.2009 23:57
Работа с webbrowser - Фреймы, работа с конкретным феймом в фрейме NewDelphi Фриланс 2 08.10.2009 11:00