MySQL: UTF8 vs. latin_swedish & error 1406

MySQL: UTF8 vs. latin_swedish & error 1406 - SQL/NoSQL - Programmation

Marsh Posté le 24-07-2007 à 16:12:53    

Bonjour à tous,

 

J'ai un petit souci avec une base MySQL :

 

J'essaye d'insérer un caractère "spécial" dans un champ appelé "content", de type TEXT, et je reçois le message d'erreur suivant :

 
Citation :

MySQL said: Documentation
#1406 - Data too long for column 'content' at row 1  

 

Par caractère "spécial", j'entends un truc aussi bête que "é" ou un "è", qui sont loin d'être des kanjis japonais ... Pour un datatype qui permet des taills de plus d'un Giga, je trouve ça quand même bizarre ... (NB : si j'essaye d'insérer ce caractère dans un champ varchar je n'ai aucun problème).

 

Ma base de données est en MySQL 5 , collation latin_swedish_ci, ma table est en latin_swedish_ci aussi (c'est le default proposé par MySQL 5 visiblement, ou alors ce default est proposé lors de l'installation mais je n'ai pas installé le serveur moi-même).

 

Si je passe la table en utf8_general_ci, je n'ai plus aucun problème.

 

Pour autant que je sache, de simples caractères tels que le "é" existent dans les pages de codes les plus basiques (me souviens encore des pages de code IBM 850 et 437 qui l'avaient déjà) et doivent exister en latin_swedish si je ne me trompe pas.

 

De plus, j'aimerais rester en ISO-8859 pour le moment (car je n'ai à part pour ce problème aucun besoin de versions internationales de la mort pour ma DB), mais suis un peu perdu entre les charset définis en html et ceux que proposent MYSQL...

 

Google ne m'aide pas beaucoup dans mes questionnements, donc y a-t-il quelqu'un ici qui pourrait me dire :
- Pourquoi je ne peux pas mettre un caractère accentué dans un champ de type TEXT en latin_swedish ?
- S'il existe un autre mode ISO-8859-like qui permette de quand même le faire ?

 

Merci d'avance,

 



Message édité par ZeBix le 24-07-2007 à 16:25:07
Reply

Marsh Posté le 24-07-2007 à 16:12:53   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed