Bonjour à tous,
Je suis confronté à un problème génant et qui peut même être bloquant.
En gros, avant d'insérer du texte provenant de champs de formulaires, je compte le nombre de caracère à l'aide d'une fonction javascript qui bloque l'envoie du formulaire si la taille des textes dans le champs est supérieure à la taille des champs de la BD. Comme ca j'évite les erreurs supers moches SQL.
Cependant, ce matin, j'ai remarquer que les caractères spéciaux (tel que ' é è à " etc ..) sont codés dans ma BD non pas en 1 caractères mais en plusieurs. Du style é -> é .
De ce fait, si j'ai trop de caractères spéciaux dans mon champs, le javascript ne détecte pas que le texte est trop long, mais j'ai tout de même une erreur SQL.
Par exemple, si mon champs de BD accepte des texte de 4000 caractères, et que le javascript detecte les texte supérieur a 2048 caractères, alors j'ai le droit à 331 caractères spéciaux dans mon texte, sinon ca plante. Et ce matin ca a planté.
Je voulais donc savoir, si, il existait un fonction javascript permettant de compter le nombre 'réel' (enfin dans le cas ou je suis confronté).
C'est a dire qu'il pourrais compter un 'é' comme 8 caractères et non comme un seul.
Une autre solution serai de remplacer automatiquement tous les caractères spéciaux par soit des 'blancs' ou soit des caractères alphanumériques dans certains cas, mais cette solution ne me plait guère.
Je fais donc appel a vous pour pallier à ce problème ...
Partager