Обычно вы делаете что-то вроде:
if (mb_strlen($ch) != strlen($ch)) ...
Я должен добавить: strlen подсчитывает байты, в то время как mb_strlen подсчитывает символы (правильная обработка многобайтовых символов, что, я думаю, то, о чем вы говорите, а не юникод - поскольку юникод также охватывает более ста однобайтовых символов, неразличимых из ASCII)