Estoy usando una columna TEXT
que es ut8_unicode_ci
en mysql para almacenar algunos datos que se extraen de Internet.longitud máxima de mysql en columnas y asegurando que no sobrepase ese límite usando utf8_unicode_ci - PHP?
Los textos que se recopilan provienen de varios sitios en diferentes idiomas.
estoy consiguiendo confundido con la longitud máxima de 65535
bytes para una columna TEXT
.
¿Cómo puedo verificar que las cadenas que estoy insertando en la columna no superen ese límite?
En el momento en que estoy usando strlen($str)
para comprobar la longitud de las cuerdas, pero mediante el uso de esto es asegurarse de que que los datos no serán truncados para encajar en la columna como entiendo utf8_unicode_ci
puede haber más de 1 byte por personaje?
¿Intentaste usar mb_strlen()? http://php.net/manual/es/function.mb-strlen.php –
Sí, pero en todos los casos donde 'mb_strlen ($ str)! = strlen ($ str)' el resultado real de 'strlen' es más de eso de 'mb_strlen', y el resultado de' mb_strlen' cuenta caracteres de varios bytes como 1 – hadley
No es una solución, pero podría salir con MEDIUMTEXT (16777215 caracteres) o LONGTEXT (caracteres 4294967295) si se está quedando sin espacio con Solo texto. – AleksanderKseniya