Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/06/2013, 19:59
llnitoll
 
Fecha de Ingreso: enero-2004
Mensajes: 236
Antigüedad: 20 años, 3 meses
Puntos: 4
Limitar y contar caracteres.

Bueno pues estoy haciendo una aplicación donde puedes publicar un texto, pongamos 250 caracteres. Y en la base de datos Varchar 255 Utf8_bin.

Si alguien pega este código que me he encontrado para testear:
╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱
╱╱┏╮╱╱╱╱╱╱╱╱╱╱╱╱
╱╱┃┃╱╱╱┳╱┓┳╭┫┳┓╱
▉━╯┗━╮╱┃╱┃┣┻╮┣╱╱
▉┈┈┈┈┃╱┻┛┛┻╱┻┻┛╱
▉╮┈┈┈┃╱╱╱╱╱╱╱╱╱╱
╱╰━━━╯╱╱╱╱╱╱╱╱╱╱

Lo primero es que javascript me cuenta 130 caracteres así que permite enviarlo.
Después el PHP cuenta 354 o 366 según escape el texto o no. Y entonces salta error por mas de 250 caracteres.

Puedo engañar al contador en PHP con utf8_decode, pero realmente no cabe el texto en la base de datos es decir ya lo cuenta bien, y si paso el texto que va a la database con decode lo convierte todo a "??????"...

He probado en la DB con utf 8, 16, 32, bin o unicode, y otros varios con igual o peor resultado.

Hay alguna solución? o voy a tener que limitar la DB a muchos mas caracteres?
Por ejemplo twitter e probado y no tiene problema, utilizara TEXT o VARCHAR con muchos caracteres?

Última edición por llnitoll; 13/06/2013 a las 20:07