Выполнение substr приводит к не читаемым символам

webscs

Новичок
На сайте [censored] я выполняю обрезку текста. Сразу отмечу что текст не содержит html символов - в нем только текст. Запись пересохранял в бд.

$text_excerpt = preg_replace('/^\s*([-\w]+?)([,;\s]|$)/','', substr($pst->post_excerpt,0,165));

Но она почему то приводит к непонятному символу "�" на конце результирующей строки. Наблюдать вы можете это на главной странице, внизу страницы в разделе "Достопримечательности" идет краткое описание "Амфитеатр в Карфагене" и перед ссылкой ".читать" - появляется этот символ. Причем в остальных записях он не появляется.
 

Gas

может по одной?
вместо substr нужно mb_substr, кирилица в utf8 занимает 2 байта, а не один.
 

webscs

Новичок
попробовал функцию mb_substr, чет тоже самое.Пробовал два варианта:

$text_excerpt = preg_replace('/^\s*([-\w]+?)([,;\s]|$)/','', mb_substr($pst->post_excerpt,0,165));

$text_excerpt = mb_substr($pst->post_excerpt,0,165);
 
Сверху