Count the amount of characters in a UTF-8 string. This is less than or equal to the byte count.
function drupal_strlen($text) {
global $multibyte;
if ($multibyte == UNICODE_MULTIBYTE) {
return mb_strlen($text);
}
else {
// Do not count UTF-8 continuation bytes.
return strlen(preg_replace("", '', $text));
}
}