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

Форум Регулярные Выражения

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

 

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

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

тема: Проблема кодировки. Рег выражения
 
 автор: dima_s_d_s   (10.01.2007 в 16:10)   письмо автору
 
 

Текст который мне нужен изначально находиться в кодировке KOI8-R, меняю кодировку на WINDOWS-1251 без проблем.

Но если в тексте попадаются украинские символы начинаются проблемы, он берёт текст до первого попавшегося украинского символа.

Что можно сделать?

   
 
 автор: kasmanaft   (10.01.2007 в 16:59)   письмо автору
 
   для: dima_s_d_s   (10.01.2007 в 16:10)
 

Рассказать чем меняете :)

   
 
 автор: dima_s_d_s   (10.01.2007 в 17:15)   письмо автору
 
   для: kasmanaft   (10.01.2007 в 16:59)
 

Меняю так!
$text=iconv("KOI8-R", "WINDOWS-1251", trim($out[0][1]));

   
 
 автор: kasmanaft   (10.01.2007 в 17:21)   письмо автору
 
   для: dima_s_d_s   (10.01.2007 в 17:15)
 

А в $out[0][1] что лежит? там точно целый текст?

   
 
 автор: dima_s_d_s   (10.01.2007 в 17:32)   письмо автору
 
   для: kasmanaft   (10.01.2007 в 17:21)
 

Там лежит целый ! Но только что глянул что там вместо украинских букв различные каракули типа Р╕!

Как исправить?

   
 
 автор: Trianon   (10.01.2007 в 18:53)   письмо автору
 
   для: dima_s_d_s   (10.01.2007 в 16:10)
 

В KOI8-R не может быть украинских символов. В отличие от koi8-u

   
 
 автор: dima_s_d_s   (10.01.2007 в 19:11)   письмо автору
 
   для: Trianon   (10.01.2007 в 18:53)
 

Допустим, что есть страница с кодировкой Кирилица(windows)
например я её открыл $test = file_get_contents($url);
потом регулярными выражениями нашел нужный мне текст, допустим он находиться в переменной out[1][0];
После вывода на экран содержимого out[1][0], кодировка страници сменилась на KOI8-R.
и вместо украинских символов появились непонятные символы!

Как можно исправить?

   
 
 автор: Trianon   (10.01.2007 в 19:50)   письмо автору
 
   для: dima_s_d_s   (10.01.2007 в 19:11)
 

>Допустим, что есть страница с кодировкой Кирилица(windows)
То есть в windows-1251? Ок.

>например я её открыл $test = file_get_contents($url);
Ок. Правда, неясно, почему url. Страница, что - чужая?
Тогда стоило бы очень внимательно проверить, что содержимое переменной $test представляет собой текст, действительно закодированный в windows-1251.

>потом регулярными выражениями нашел нужный мне текст, допустим он находиться в переменной out[1][0];
Допустим.

>После вывода на экран содержимого out[1][0], кодировка страници сменилась на KOI8-R.
А чего ради она сменилась? Вы же сами указываете тип документа, а значит и вид кодировки, в которой он представлен.
Может нужно страницу в исходной (windows-1251) кодировке выводить?

>и вместо украинских символов появились непонятные символы!
и все символы останутся на месте.


>Как можно исправить?
п2. не брать чужие страницы по file_get_contents - это нестабильный метод.
п4. Четко указывать, в какой именно кодировке Вы формируете результирующий документ.
Обычно это либо директива AddDefaultCharset кодировка в .htaccess либо вызов header() в самом скрипте.

   
 
 автор: dima_s_d_s   (10.01.2007 в 19:53)   письмо автору
 
   для: Trianon   (10.01.2007 в 19:50)
 

>п2. не брать чужие страницы по file_get_contents - это нестабильный метод.

А какую тогда можно использовать функцию?
Или вы предлаете через соккеты?

   
 
 автор: Trianon   (10.01.2007 в 20:05)   письмо автору
 
   для: dima_s_d_s   (10.01.2007 в 19:53)
 

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

   
 
 автор: dima_s_d_s   (10.01.2007 в 20:25)   письмо автору
 
   для: Trianon   (10.01.2007 в 20:05)
 

А мне кажется проблема в том что в никсах нет кодировки win !

   
 
 автор: Trianon   (10.01.2007 в 20:48)   письмо автору
 
   для: dima_s_d_s   (10.01.2007 в 20:25)
 

Ошибаетесь. В *никсах есть любая кодировка, какую захочет администратор сайта.

   
 
 автор: dima_s_d_s   (10.01.2007 в 20:57)   письмо автору
 
   для: Trianon   (10.01.2007 в 20:48)
 

Тема закрыта! Уже сделал!

Всем сенкс за помощь

   
Rambler's Top100
вверх

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