|
|
|
| Подскажите как определить кодировку файла , к примеру на страничке php с кодировкой utf-8 открываю текстовый файл для чтения , в какой он кодировке неизвестно , нужно определить если он в win-1251 включить функцию перекодировки если в uft то не нужно, как можно узнать кодировку? | |
|
|
|
|
|
|
|
для: VantuZilla
(02.12.2006 в 14:57)
| | Если не ошибаюсь, этого сделать нельзя ... | |
|
|
|
|
|
|
|
для: VantuZilla
(02.12.2006 в 14:57)
| | Можно только попытаться, т.к. в файле могут содержаться символы разных кодировок...
<?php
$text = (string) file_get_contents("file");
$letters = "АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя"; //Буквы в Windows-1251
if(strpbrk($text, $letters) !== false)
{
//Этот текст в Windows-1251
}
?>
|
| |
|
|
|
|
|
|
|
для: Unkind
(02.12.2006 в 15:28)
| | А что это за функция strpbrk? У меня версия 4.4.0 не идет она | |
|
|
|
|
|
|
|
для: VantuZilla
(02.12.2006 в 17:45)
| | Я по другому сделал $letters=array("A","а","Б","б", //итд); for($b=0; $b<66; $b++) {if(strstr($content,$letters[$b])!==false){$utf=true;} ну и все в принципе, может можно попроще написать | |
|
|
|
|
|
|
|
для: VantuZilla
(02.12.2006 в 18:29)
| | Хм...Да, не посмотрел на версию...Это начиная с 5-ой версии PHP такая есть функция...
http://ru.php.net/strpbrk/ | |
|
|
|
|
|
|
|
|
для: Саня
(05.12.2006 в 19:32)
| | очень полезные ссылки, спасибо! Нашёл там функцию charset_x_win (http://popoff.donetsk.ua/text/work/libs/a/charset/ - написана, как я понял, пользователем). Коенвертирет строку неизвестной кодировки в win-1251. Как раз то что мне нужно. Но для её использования требуется устанавливать библиотеку, а на хостинг её не влепить. Есть исходник, но он очень громоздкий. Нет ли аналога в ядре PHP или более известной библиотеке? | |
|
|
|