![]() |
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]() ![]() ![]() |
|
AmraKimmerian |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 18.4.2009 Репутация: нет Всего: нет |
С помощью fgets получаю html-код страницы сайта. Если его рендерить в браузере или просматривать с помощью браузера исходный html-код, то все русские слова прекрасно отображаются.
Но регулярное выражение не находит эти русские слова в этом html-коде, сохраненном в переменной. С латинскими словами, цифрами и другими символами все в порядке - находит. В чем может быть проблема? В кодировке текста? Подскажите, пожалуйста. |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 2 Всего: 315 |
наверное, если вы приведёте код регулярки, помочь будет проще
|
|||
|
||||
AmraKimmerian |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 18.4.2009 Репутация: нет Всего: нет |
где $f2 - html-код, полученный ос страницы сайта. |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 2 Всего: 315 |
в какой кодировке распарсиваемая страница?
в какой кодировке скрипт? |
|||
|
||||
AmraKimmerian |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 18.4.2009 Репутация: нет Всего: нет |
Ээээ, хммм..
исходный html-код в браузере показан в UTF-8. А мой php похоже ANSI. Как же их уровнять? с помощью setLocale? Хм... а что там нада написать? |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 2 Всего: 315 |
есть iconv()
конвертнуть либо в одну, либо в другую сторону. конечно проще конвертнуть в ютф-8 слово "регионы". но если будете сохранять полученные данные у себя в базе, то всё равно придётся их приводить к общему на сайте виду |
|||
|
||||
AmraKimmerian |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 18.4.2009 Репутация: нет Всего: нет |
"...либо в одну, либо в другую сторону."
Честно говоря, не понял, что куда нужно конвертировать и разве возможно конвертировать в X то что уже в X? Как точно узнать, из какой кодировки в какую нужно конвертировать? Может ли тут помочь setLocale? Почему не использовать его?
Эхо ничего не выводит. |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 2 Всего: 315 |
ну, всё достигается опытным путём
я имел ввиду, что либо слово "регионы" преобразовать в ютф8, что проще, так как это одно слово но это подстройка под чужой сайт. если же вы собираетесь полученные данные сохранять у себя, то всё равно придётся конвертировать в свою кодировку может:
? |
|||
|
||||
AmraKimmerian |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 18.4.2009 Репутация: нет Всего: нет |
"ну, всё достигается опытным путём"
Да, действительно!
Так все заработало: и находит и возвращает в читаемом виде. bars80080, спасибо! |
|||
|
||||
Pitlord |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 31.10.2009 Репутация: нет Всего: 7 |
Надо просто в мануал смотреть: http://php.net/iconv Во-первых, в данном случае Вам надо просто исходный PHP-файл сохранять в UTF-8, во-вторых, необходимо добавить модификатор "u" в выражение, т.к. Вы работаете с UTF-8. Это сообщение отредактировал(а) Pitlord - 5.11.2009, 23:30 |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Тексты | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |