У меня есть строка как: $fullname = 'ワタナベサン';
И некоторый строковый код для вырезания части строки с условием:
if (strlen ( $fullname ) >= 14)
$this->FullName = substr ( $fullname, 0, 10 ) . '...';
else
$this->FullName = $fullname;
Но результат выглядит как неверная строка как: 'ワタナ�...'
,
substr
и все остальные основные строковые функции PHP, не являются многобайтовая осведомленность и не может правильно обрабатывать многобайтовые строки. Они корректно работают только со строками ASCII или другими однобайтовыми кодировками. Для корректной работы с многобайтовыми строками в большинстве случаев вам нужно использовать эквивалентные функции в Расширение МБ.
Увидеть Что каждый программист абсолютно, положительно должен знать о кодировках и наборах символов для работы с текстом для дополнительной информации. Добро пожаловать в кроличью нору кодировок символов; тебе есть чему поучиться. : О)