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

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

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

 

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

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

тема: Preg_match
 
 автор: Satori   (15.06.2010 в 11:18)   письмо автору
 
 

Есть такой код (вырезает кусок текста вокруг найденного в поиске)
$pattern = "|(.{1,100})".$good[0]."(.{1,100})|is"; 

  preg_match($pattern, $row["content"], $outc); 


Но при этом выводятся по краям строк странные символы вопросительный знак в черном квадрате. Как можно бороться? БД в cp1251 сайт windows-1251

  Ответить  
 
 автор: Trianon   (15.06.2010 в 14:07)   письмо автору
 
   для: Satori   (15.06.2010 в 11:18)
 

а оно точно в 1251?

  Ответить  
 
 автор: Satori   (15.06.2010 в 15:09)   письмо автору
 
   для: Trianon   (15.06.2010 в 14:07)
 

Таблицы и база в cp1251 точно! Но вот строки почему-то видимо приходят в utf-8. Пробовал через iconv из utf-8 в windows-1251 сконвертить но тогда весь текст одни вопросы. Может я не так конверчу можете подсказать как правильно?

  Ответить  
 
 автор: Trianon   (15.06.2010 в 15:48)   письмо автору
 
   для: Satori   (15.06.2010 в 15:09)
 

В каком смысле - приходят?
Приходят, но не уходят?
Если Вы помещаете данные в utf-8 то, очевидно, и выплескиваете их в браузер тоже в utf-8?
Кодировка страницы в браузере - какая?

Ничего не надо конвертировать до того, как Вы разобрались/разберетесь, что именно происходит.
А возможно, и после.

Надо понять, чот происходит, и только после этого что-то менять.

  Ответить  
 
 автор: Satori   (15.06.2010 в 16:09)   письмо автору
 
   для: Trianon   (15.06.2010 в 15:48)
 

Я не помещаю данные у меня есть база с которой надо работать. В браузере судя по хидерам страницы в windows-1251. mb_detect_encoding говорит что данные приходят из базы в utf-8 !

  Ответить  
 
 автор: Satori   (15.06.2010 в 16:39)   письмо автору
 
   для: Satori   (15.06.2010 в 16:09)
 

Разобрался достаточно было добавить ключ u в регулярное выражение

  Ответить  
 
 автор: Trianon   (15.06.2010 в 17:08)   письмо автору
 
   для: Satori   (15.06.2010 в 16:39)
 

недостаточно.

Вы утверждали, что БД у Вас в cp1251.
Фактически это ознаает, что реальная кодировка данных в БД у Вас отличается от декларированной.
А следовательно при первой же миграции с сервера на сервер, восстановлении из бэкапа и т.п. Вы запросто рискуете оказаться в обнимку с разрушенной БД.

  Ответить  
 
 автор: Satori   (15.06.2010 в 17:27)   письмо автору
 
   для: Trianon   (15.06.2010 в 17:08)
 

Ну это уже не ко мне вопросы я только поиск делал

  Ответить  
 
 автор: Trianon   (15.06.2010 в 19:07)   письмо автору
 
   для: Satori   (15.06.2010 в 17:27)
 

>Ну это уже не ко мне вопросы я только поиск делал


Извините.
Больше не побеспокою.
Всего доброго.

  Ответить  
 
 автор: вред   (15.06.2010 в 23:20)
 
   для: Trianon   (15.06.2010 в 17:08)
 

Если база в кодировке cp1251, это же не значит что данные из неё отдаются тоже в этой кодировке. Может быть случайно character_set_results = utf8 ...

  Ответить  
 
 автор: Trianon   (16.06.2010 в 00:33)   письмо автору
 
   для: вред   (15.06.2010 в 23:20)
 

несомненно.

  Ответить  
Rambler's Top100
вверх

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