Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Определение кодировки при чтении файла
 
 автор: VantuZilla   (02.12.2006 в 14:57)   письмо автору
 
 

Подскажите как определить кодировку файла , к примеру на страничке php с кодировкой utf-8 открываю текстовый файл для чтения , в какой он кодировке неизвестно , нужно определить если он в win-1251 включить функцию перекодировки если в uft то не нужно, как можно узнать кодировку?

   
 
 автор: kasmanaft   (02.12.2006 в 15:24)   письмо автору
 
   для: VantuZilla   (02.12.2006 в 14:57)
 

Если не ошибаюсь, этого сделать нельзя ...

   
 
 автор: Unkind   (02.12.2006 в 15:28)   письмо автору
 
   для: VantuZilla   (02.12.2006 в 14:57)
 

Можно только попытаться, т.к. в файле могут содержаться символы разных кодировок...


<?php
$text 
= (string) file_get_contents("file");
$letters "АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя"//Буквы в Windows-1251
if(strpbrk($text$letters) !== false)
{
//Этот текст в Windows-1251
}
?>

   
 
 автор: VantuZilla   (02.12.2006 в 17:45)   письмо автору
 
   для: Unkind   (02.12.2006 в 15:28)
 

А что это за функция strpbrk? У меня версия 4.4.0 не идет она

   
 
 автор: VantuZilla   (02.12.2006 в 18:29)   письмо автору
 
   для: VantuZilla   (02.12.2006 в 17:45)
 

Я по другому сделал $letters=array("A","а","Б","б", //итд); for($b=0; $b<66; $b++) {if(strstr($content,$letters[$b])!==false){$utf=true;} ну и все в принципе, может можно попроще написать

   
 
 автор: Unkind   (02.12.2006 в 20:16)   письмо автору
 
   для: VantuZilla   (02.12.2006 в 18:29)
 

Хм...Да, не посмотрел на версию...Это начиная с 5-ой версии PHP такая есть функция...
http://ru.php.net/strpbrk/

   
 
 автор: Саня   (05.12.2006 в 19:32)   письмо автору
 
   для: VantuZilla   (02.12.2006 в 14:57)
 

http://phpclub.ru/faq/wakka.php?wakka=encodings/encodings5&show_files=1

   
 
 автор: NIK   (08.01.2007 в 16:40)   письмо автору
 
   для: Саня   (05.12.2006 в 19:32)
 

очень полезные ссылки, спасибо! Нашёл там функцию charset_x_win (http://popoff.donetsk.ua/text/work/libs/a/charset/ - написана, как я понял, пользователем). Коенвертирет строку неизвестной кодировки в win-1251. Как раз то что мне нужно. Но для её использования требуется устанавливать библиотеку, а на хостинг её не влепить. Есть исходник, но он очень громоздкий. Нет ли аналога в ядре PHP или более известной библиотеке?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования