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

Форум PHP

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

 

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

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

тема: Как обработать текст UTF-8 ?
 
 автор: Evgen   (21.08.2006 в 12:26)   письмо автору
 
 

Здравствуйте!

Подскажите пожалуйста, как бороться с такой бедой:

- считываю текстовый файл с помощью file_get_contents,
- сохраняю его в файл *.txt,
- открываю сохраненный файл текстовым редактором,
- прочитать русский шрифт - невозможно!

Какие есть рецепты?

Спасибо.

PS. ПХП 5.0

   
 
 автор: Loki   (21.08.2006 в 12:51)   письмо автору
 
   для: Evgen   (21.08.2006 в 12:26)
 

Попробуйте iconv

http://www.softtime.ru/dic/id_dic=286&id_group=11

   
 
 автор: Evgen   (21.08.2006 в 13:43)   письмо автору
 
   для: Loki   (21.08.2006 в 12:51)
 

Спасибо, сейчас бум попробовать!

А я и не знал, что на сайте есть справочник функций - книгу-то я уже вдоль и поперек изучил, заметил что не все функции в ней присутствуют, принял это как должное ... Скоко ж нам открытий чудных ..!

   
 
 автор: Evgen   (21.08.2006 в 15:06)   письмо автору
 
   для: Loki   (21.08.2006 в 12:51)
 

Почему-то не получается в UTF и обратно перевернуть текст!

Windows-1251, KOI8-r, iso8859-5 - конвертит без проблем, хоть туда , хоть обратно. А в UTF-8 из Windows-1251 переворачивает, на экране IE появляется какая-то абракадабра, кодировка эксплорером автоматически не распознается, если задать руками кодировку UTF-8 на экране текст исчезает!

Во что ПХП конвертит текст - не понятно!

   
 
 автор: XPraptor   (21.08.2006 в 16:34)   письмо автору
 
   для: Evgen   (21.08.2006 в 15:06)
 

Дай свой текстовый файл атачем сюда. Может там не UTF-8 а UTF-16 или его модификация.

   
 
 автор: Evgen   (22.08.2006 в 00:04)   письмо автору
 
   для: XPraptor   (21.08.2006 в 16:34)
 

>... Может там не UTF-8 а UTF-16 или его модификация.

Да нет, в заголовке html вот эта запись присутствует:


<html>
...
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
...
</html>


Но это уже не важно, т.к. щас после 30-й попытки и переписывания кода, почему-то все заработало!

Остался только вопрос - каким способом правильнее вытягивать инфу с сайта-
- fread ( );
или
- file_get_contents ( ); ?

Спасибо всем, кто помог советом !

   
 
 автор: Unkind™   (22.08.2006 в 13:08)   письмо автору
 
   для: Evgen   (22.08.2006 в 00:04)
 

fread () прочитает только сточку до конца, а file_get_contents() весь файл..

   
 
 автор: Trianon   (22.08.2006 в 13:12)   письмо автору
 
   для: Unkind™   (22.08.2006 в 13:08)
 

fread () читает либо до конца файла либо до конца буфера. При сокетном соединении - до конца пакета. Но никак не до конца строки.

   
 
 автор: Unkind™   (22.08.2006 в 13:20)   письмо автору
 
   для: Trianon   (22.08.2006 в 13:12)
 

Эт значит с fgets() перепутал :)

   
 
 автор: Unkind™   (21.08.2006 в 17:27)   письмо автору
 
   для: Evgen   (21.08.2006 в 15:06)
 

Да, возможно там не UTF-8...Просто есть еще два вида:

<?php
header
("Content-type: text/plain; charset=utf-8");
//Понимать этот бред будут только браузеры
echo "&#x422;&#x435;&#x43A;&#x441;&#x442;\n"//&#xXXXX
//И этот тоже ;)
echo "&#x0422;&#x0435;&#x043A;&#x0441;&#x0442;\n"//&#x000X
//А UTF-8 это на самом деле:
echo "Текст";
//Windows-1251
echo "Текст";
?>

   
 
 автор: Evgen   (22.08.2006 в 14:43)   письмо автору
 
   для: Unkind™   (21.08.2006 в 17:27)
 

Большое спасибо за информацию!

Поэкспериментировал - в моем случае работает стабильно только file_get_contents(), а fread () не успевает прочитать весь *.html - файл (лежит в www) - отрубается, сняв с сайта несколько первых строчек.

Видимо есть ограничения на той стороне на использование этой функции, либо скорость соединения (ответа того сервера) недостаточна ...

   
Rambler's Top100
вверх

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