choix collation Mysql

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : choix collation Mysql

par Hubert Roksor » 03 févr. 2006, 02:33

Le charset, c'est le "set de caractères", c-à-d l'ensemble des lettres et symboles que l'on peut utiliser pour composer des phrases. La collation elle, sert à comparer les chaînes. Par exemple utf_bin comparera les chaînes de façon stricte ("binary-safe") et donc "A" ne sera pas égal à "a". utf_general_ci est similaire, si ce n'est qu'il est insensible à la casse et donc "SELECT nom FROM table WHERE nom = 'Albert'" retournera toutes les variations contenues dans la base: "albert", "alBERT", etc...

Pour les utf8_swedish_machin c'est une histoire d'ordre alphabétique dépendant de chaque pays. Par exemple, où placer la ligature "ae": entre le a et le b ou après le "z" ?

Pour faire court: "CHARSET=utf8 COLLATE=utf8_bin" convient à tous ceux qui ne font pas la différence avec les collations ;) Quant à l'endroit où le définir, si tu le définis dans la base alors toutes les tables qui n'ont pas de définition explicite en hériteront. Pareil pour les colonnes, si ta table est "utf8" et que tu n'indiques pas que tu préfères un autre charset pour une nouvelle colonne alors elle sera créée comme si tu avais précisé "utf8".

http://dev.mysql.com/doc/refman/5.0/fr/ ... neral.html

choix collation Mysql

par gforce » 30 janv. 2006, 16:18

bonjour,

quel choix de collation serait le plus approprié pour des tables contenant du français,anglais,arabe,chinois.

J'ai remarqué aussi qu'il y avait CHARSET=utf8 COLLATE=utf8_bin lors de la création de la table quelles sont les différences entre CHARSET et COLLATE?
Les champs contiennent eux aussi des collates. Ma quetion est: où dois je définir ceux-ci? dans ta table ou dans chaques champs? ou encore les 2?

Merci