На данный вопрос уже ответили:
Некорректно отображается сокращение русского текста, а именно, после сокращения появляется символ "вопроса".
Текст обрезается по длине не учитывая многобайную кодировку. Скорее всего ваши строки хранятся в UTF-8, а обрезка выполняется по длине в байтах. В результате последний символ теряет один-два байта и вместо него отображается символ-заместитель.
Следует переписать функцию обрезки так, чтобы она учитывала многобайтовые символы, например используя функции mb_substr() или iconv_substr()
См. также:
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости