Как я могу ограничить символы юникода из базы данных?
У меня есть мой родной языковой магазин в базе данных MySQL выглядит так
ផោន រក ចំណូល បាន ខ្ពស់ បំផុត មួយ នៅ លើ ដោយ រក រក ជិត ១ ១ ផោន ផោន
но я хочу ограничить это только 100 символами, чтобы показать, и если больше чем 100 показывают...
Я использую этот код
echo substr($row[1],0,100).((strlen($row[1])>100)? '...': '');
Это хорошо работает, если данные в базе данных состоят из английских символов, но для моего символа на родном языке это не работает. В базе данных я установил
Тип = текст, сопоставление = utf8_general_ci
1 ответ
SELECT
CASE WHEN CHAR_LENGTH(khmer) > 100 THEN khmer
ELSE CONCAT(LEFT(khmer, 98), '...')
END
FROM ...
Обратите внимание на использование CHAR_LENGTH
вместо LENGTH
,