Bonsoir,

Je souhaite passer mon site de tourisme (6 langues) de ISO à utf8.
J'ai deux questions concernant les données sauvegardées dans ma base de données MySQL :

1. Que choisir, utf8_general_ci ou utf8_unicode_ci ?

2. Un champs varchar(64) permet-il d'enregistrer 64 caractères indépendament du charset ? Ou faut-il que je rallonge mes champs varchar pour tenir compte de la place supplémentaire que prend les caractères unicode ?

Merci d'avance pour vos conseils !

Kwiz
Merci pour ta réponse !

Pour ma 1ère question, j'ai une réponse du côté de la doc MySQL (version anglaise car plus complète) :

http://dev.mysql.com/doc/refman/5.0/en/charset-unicode-sets.html

Je cite :
a écrit :
utf8_general_ci also is satisfactory for both German and French, except that ‘ß’ is equal to ‘s’, and not to ‘ss’. If this is acceptable for your application, then you should use utf8_general_ci because it is faster. Otherwise, use utf8_unicode_ci because it is more accurate.


En ce qui concerne ma 2ème j'ai réussi à insérer 64 caractère chinois dans un varchar(64), j'en conclu que le nombre de caractère d'un varchar concerne le caractère en lui même et non pas le nombre d'octets utilisés.

Kwiz
Salut,
Kwiz a écrit :
En ce qui concerne ma 2ème j'ai réussi à insérer 64 caractère chinois dans un varchar(64), j'en conclu que le nombre de caractère d'un varchar concerne le caractère en lui même et non pas le nombre d'octets utilisés.
Je confirme. Smiley smile

Sinon, ça obligerait à multiplier par 3 la taille de tous les champs par sécurité, ce qui diminuerait fortement l'intérêt du support d'UTF-8 par MySQL.