[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: проблемы с чтением файла из интернета
rompish
Мне нужно получить код страницы из интернета и его обрботать, я использую функцию file_get_contents, но все русские символы читаются неправильно.

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

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



Спустя 1 час, 26 минут, 16 секунд (28.03.2009 - 15:46) bret написал(а):
rompish
А что мешает изменить кодировку уже полученного кода7

Спустя 4 часа, 33 минуты, 12 секунд (28.03.2009 - 20:19) Sylex написал(а):

Спустя 16 часов, 40 минут, 28 секунд (29.03.2009 - 11:59) rompish написал(а):
Спасибо, вам за ответы. Это видимо та функция, которая мне нужна, но я по причине своей неопытности не совсем понимаю как ей пользоваться, возможно я пишу не те названия кодировок? У меня все отображается некорректно,вот код.

$a=file_get_contents("http://search.yaca.yandex.ru/yandsearch?text=www.msu.ru&rpt=rs2");

echo iconv("ISO-8859-1", "UTF-8", $a);

Спустя 6 часов, 32 минуты, 44 секунды (29.03.2009 - 18:32) rompish написал(а):
ээ а пояснить?)

Спустя 4 часа, 26 минут, 31 секунда (29.03.2009 - 22:59) Viking написал(а):
Цитата
я пишу не те названия кодировок?

определенно
в иконв первым параметром - кодировку текста, вторым - ту, в котороый будешь выводить

Спустя 12 часов, 43 секунды (30.03.2009 - 10:59) rompish написал(а):
А как узнать кодировку текста? Мне же нужно все в utf-8 выводить, я так понимаю, можно ли сделать так чтобы из любой в utf-8 переводилось?

Спустя 3 часа, 4 минуты, 16 секунд (30.03.2009 - 14:04) Sylex написал(а):
PHP
$str mb_convert_encoding($str"UTF-8""auto");


Спустя 3 часа, 22 минуты, 28 секунд (30.03.2009 - 17:26) rompish написал(а):
Подскажите мне пожалуста, где взять библиотеки этих функций, почему-то они у меня не работают.

$str = mb_convert_encoding($str, "UTF-8", "auto");

похожа на то что мне нужно, но она не работает, опять же прошу у вас ссылку набиблиотеку, возможно есть другие подобные варианты решения этой проблемы?

Спустя 2 часа, 25 минут, 53 секунды (30.03.2009 - 19:52) Sylex написал(а):
rompish
что значит она не работает? ошибку дает? какую? или не конвертирует (т.е. ты так считаешь) ?

Спустя 3 часа, 35 минут, 14 секунд (30.03.2009 - 23:27) rompish написал(а):
выдает ошибку: функция не определена.

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

Спустя 7 часов, 57 минут, 10 секунд (31.03.2009 - 07:24) Sylex написал(а):
Цитата (rompish @ 31.03.2009 - 02:27)
выдает ошибку: функция не определена.

так че молчишь то?

http://ru.php.net/manual/ru/mbstring.installation.php

надо модуль подключить, в php.ini раскоментить строку и перегрузить апач

Спустя 14 часов, 30 минут, 10 секунд (31.03.2009 - 21:55) rompish написал(а):
все равное не определена(

я изменил mbstring.encoding_translation на On и разкоментил

вот настройки

; language for internal character representation.
;mbstring.language = Japanese

; internal/script encoding.
; Some encoding cannot work as internal encoding.
; (e.g. SJIS, BIG5, ISO-2022-*)
mbstring.internal_encoding = EUC-JP

; http input encoding.
mbstring.http_input = auto

; http output encoding. mb_output_handler must be
; registered as output buffer to function
mbstring.http_output = utf-8

; enable automatic encoding translation according to
; mbstring.internal_encoding setting. Input chars are
; converted to internal encoding by setting this to On.
; Note: Do _not_ use automatic encoding translation for
; portable libs/applications.
mbstring.encoding_translation = On

; automatic encoding detection order.
; auto means
;mbstring.detect_order = auto

; substitute_character used when character cannot be converted
; one from another
;mbstring.substitute_character = none;

; overload(replace) single byte functions by mbstring functions.
; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
; etc. Possible values are 0,1,2,4 or combination of them.
; For example, 7 for overload everything.
; 0: No overload
; 1: Overload mail() function
; 2: Overload str*() functions
; 4: Overload ereg*() functions
;mbstring.func_overload = 0

Спустя 9 часов, 27 минут, 2 секунды (1.04.2009 - 07:22) Sylex написал(а):
rompish
библиотека есть? Пути прописаны в переменных окружения?

Апач перегрузил?

Спустя 2 часа, 52 минуты, 32 секунды (1.04.2009 - 10:14) rompish написал(а):
библиотеки видимо нет, я так и не понял где ее взять..
апатч перегружал естественно

Спустя 2 часа, 26 минут, 18 секунд (1.04.2009 - 12:40) Sylex написал(а):
rompish
PHP\ext
php_mbstring.dll

ОС Windows?

Спустя 55 минут, 6 секунд (1.04.2009 - 13:36) rompish написал(а):
да windows, нету этого файла)
где его можно взять?

Спустя 3 часа, 42 секунды (1.04.2009 - 16:36) Sylex написал(а):

Спустя 1 час, 54 минуты, 38 секунд (1.04.2009 - 18:31) rompish написал(а):
длл есть, все перезапустил, все равное пишет что обращение к неопределенной функции

Fatal error: Call to undefined function mb_convert_encoding() in Z:\home\localhost\www\index.php on line 11

код:

$a=file_get_contents("http://search.yaca.yandex.ru/yandsearch?text=www.msu.ru&rpt=rs2");
$a = mb_convert_encoding($a, "UTF-8");
echo $a;

Спустя 14 минут, 48 секунд (1.04.2009 - 18:46) Sylex написал(а):
в phpinfo() что?

Спустя 5 минут, 29 секунд (1.04.2009 - 18:51) rompish написал(а):
Цитата (Sylex @ 1.04.2009 - 15:46)
в phpinfo() что?


где это посмотреть? что есть phpinfo()?

Спустя 1 час, 2 минуты, 20 секунд (1.04.2009 - 19:53) Sylex написал(а):
PHP
<?php

// Show all information, defaults to INFO_ALL
phpinfo();



и посмотреть состояние mb_string

Спустя 2 часа, 32 минуты, 37 секунд (1.04.2009 - 22:26) rompish написал(а):
mb_string на этой странице нету.

Объясните пожалуста как установть мне эту библиотку? что мне нужно сделать помимо копироваия php_mbstring.dll?

Спустя 8 часов, 34 минуты, 9 секунд (2.04.2009 - 07:00) Sylex написал(а):

Спустя 4 часа, 22 минуты, 4 секунды (2.04.2009 - 11:22) rompish написал(а):
библиотеку поставил, функция ошибки не выдает, но проблема с кодировкой не решиась, символы все равно отображаются некорректно

$a=file_get_contents("http://search.yaca.yandex.ru/yandsearch?text=www.msu.ru&rpt=rs2");
$a = mb_convert_encoding($a, "UTF-8");
echo $a;

возможно я неправильно использую функцию mb_convert_encoding?

Спустя 1 час, 43 минуты, 22 секунды (2.04.2009 - 13:06) Viking написал(а):
помоему на странице, которую ты перекодируешь и так утф8 smile.gif
я сильно подозреваю, что ты при выводе страницы неправильно указываешь кодировку в заголовке или метатеге

Спустя 28 минут, 30 секунд (2.04.2009 - 13:34) rompish написал(а):
после использования file_get_contents символы отображаются некорректно, возможно эта страница и так в утф8, но символы все равно кривые.

Как мне это исправить? Я вас очень прошу дать более конкретный ответ. Есть ли какието функции, или какието параметры которые мне нужно применить?

В моей программе 3 строчки и я до сих пор не решил эту проблему. Жду ваших советов, спасибо.

Спустя 5 часов, 55 минут, 13 секунд (2.04.2009 - 19:29) Sylex написал(а):
rompish
нет желания тебе помочь... сорри

ответ простой.. я темку создам по этому поводу wink.gif

Спустя 3 часа, 37 минут, 25 секунд (2.04.2009 - 23:07) rompish написал(а):
Мой вопрос лишь в том, как мне получить в переменной нормальные русские символы для конкретной страницы?

$a=file_get_contents("http://search.yaca.yandex.ru/yandsearch?text=www.msu.ru&rpt=rs2");

Я не имею опыта в этих делах и пршу вашей помощи.

Спустя 17 часов, 29 минут, 27 секунд (3.04.2009 - 16:36) rompish написал(а):
спасибо вам а советы, я во всем разобрался, поискав похожую тему на форуме, спасибо
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.