I\'m using the substr() function to limit the characters in strings. but sometimes, the output text contains some obscure characters and Question marks etc...>
substr()
Because you are cutting your characters into half.
Use mb_substr for multibyte character encodings like UTF-8. substr just counts bytes while mb_substr counts characters.
substr
mb_substr