Standard string functions like strlen() count bytes, not characters. For UTF-8 text containing non-ASCII characters (accented letters, CJK, emoji), you need the mbstring extension.
mb_strlen()— character count.mb_strtolower()/mb_strtoupper()— Unicode-aware case conversion.mb_substr()— character-based slicing.mb_strpos()— character-based search.