sorry_i_noob
@sorry_i_noob

Какую функцию для подсчета символов мне использовать, чтобы узнать, поместится ли значение в БД MySQL?

Есть strlen, mb_strlen, у фреймворка, на котором я пишу (Kohana) есть UTF8::strlen.
Какую мне надо использовать, чтобы узнать, поместится ли введенный пользователем текст в поле базы данных? Ведь если не подсчитывать, то текст может вместиться не полностью. И на странице, где он отображается, может поехать верстка (при сохранении не хватит места для закрывающего тега), например.
  • Вопрос задан
  • 89 просмотров
Пригласить эксперта
Ответы на вопрос 2
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
начиная с 5 версии mysql Если вы указываете кодировку utf-8 значит количество символов будет такое какое укажете в поле длины.
В более ранних версиях поле длина выделяло соответствующее количество байт, что было не очень удобно для кодировок с переменным числом байт, как например utf-8.

strlen выдаст длину в байтах, mb_strlen выдаст длину в символах в указанной кодировке, UTF8::strlen скорее всего просто сахар для mb_strlen в utf-8.
Ответ написан
Комментировать
@ksnk
Включи в базе строгий режим. Тогда о переполнении поля тебе будет сообщать сам mysql
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы