Последняя версия DataExpress 2021.10.21

Изображение Скачать | Изображение Что нового?

Функция lenght не правильно считает длинну текста

Все о том как сделать что-то с помощью скриптов.
Vofka18
Знаток
Сообщения: 550
Зарегистрирован: 04 мар 2018, 16:54
Благодарил (а): 59 раз
Поблагодарили: 67 раз

Функция lenght не правильно считает длинну текста

Сообщение Vofka18 » 06 фев 2021, 20:38

Всем привет. Уже весь мозг наизнанку вывернул, но понять не могу что тут не так...

Код: Выделить всё

   debug(intToStr(length('"1 февр. 2021 г. 16:47:01"')));

Данная строка длинной в 26 символов, но ее длина считается как 31 символ... кавычки в начале и в конце пробовал убирать они не влияют на расчет... Вопрос откуда берется еще 5 символов? :) Другие строки вроде считает корректно, а эта как закалдованная... :shock:

Аватара пользователя
admin
Разработчик
Сообщения: 5936
Зарегистрирован: 14 мар 2016, 11:32
Откуда: Ленинградская
Благодарил (а): 74 раза
Поблагодарили: 591 раз

Функция lenght не правильно считает длинну текста

Сообщение admin » 06 фев 2021, 20:59

Функция возвращает длину в байтах. Текст в кодировке UTF-8 - длина символа может быть больше одного байта. Используйте функцию Utf8Length.

Vofka18
Знаток
Сообщения: 550
Зарегистрирован: 04 мар 2018, 16:54
Благодарил (а): 59 раз
Поблагодарили: 67 раз

Функция lenght не правильно считает длинну текста

Сообщение Vofka18 » 06 фев 2021, 21:09

admin писал(а):Функция возвращает длину в байтах. Текст в кодировке UTF-8 - длина символа может быть больше одного байта. Используйте функцию Utf8Length.

Спасибо! Чет я не видел этой функции. Завтра посмотрю внимательнее :)


Вернуться в «Общие вопросы.»