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?