Quel format pour une base de donnée?

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 : Quel format pour une base de donnée?

par mario » 04 avr. 2006, 17:57

Le problème avec ce comparatif c'est que ton client doit configuré en latin1, donc lorsque tu essaies d'exprimer une chaîne en UTF-8 certains caractères deviennent corrompus.
:pouce:

par Hubert Roksor » 04 avr. 2006, 16:37

Le problème avec ce comparatif c'est que ton client doit configuré en latin1, donc lorsque tu essaies d'exprimer une chaîne en UTF-8 certains caractères deviennent corrompus. Pour correctement reproduire ton exemple, je pense qu'il faudrait faire ça:

Code : Tout sélectionner

mysql> SET NAMES 'latin1'; Query OK, 0 rows affected (0.00 sec) mysql> SELECT _latin1 "Avec l'heure d'été le soleil n'est guère au rendez-vous"; +---------------------------------------------------------+ | Avec l'heure d'été le soleil n'est guère au rendez-vous | +---------------------------------------------------------+ | Avec l'heure d'été le soleil n'est guère au rendez-vous | +---------------------------------------------------------+ 1 row in set (0.00 sec) mysql> SET NAMES 'utf8'; Query OK, 0 rows affected (0.00 sec) mysql> SELECT _utf8 "Avec l'heure d'été le soleil n'est guère au rendez-vous"; +---------------------------------------------------------+ | Avec l'heure d'été le soleil n'est guère au rendez-vous | +---------------------------------------------------------+ | Avec l'heure d'été le soleil n'est guère au rendez-vous | +---------------------------------------------------------+ 1 row in set (0.00 sec)
@thedavix: pour répondre à ta question, j'utilise ascii_bin, utf8_bin ou utf8_general_ci selon le type de données à stocker: mes identifieurs n'utilisent que 0-9a-z_ donc j'utilise ascii_bin par sécurité (ascii_bin n'autorise pas les caractères accentués), sinon j'utilise utf8_bin sauf lorsque je ne peux pas autoriser de doublons tels que "User" et "user" (qui sont différents pour utf8_bin mais identique pour utf8_general_ci). Pour un maximum de flexibilité je te recommande d'utiliser utf8_general_ci.

N'oubliez pas de modifier votre my.ini (ou my.cnf), spécialement la section

Code : Tout sélectionner

[mysql] default-character-set=utf8

par mario » 04 avr. 2006, 09:52

Bonjour :wink:

Voici un petit comparatif des 2:

mysql> SELECT _latin1 "Avec l'heure d'été le soleil n'est guère au rendez-vous";

+---------------------------------------------------------+
| Avec l'heure d'été le soleil n'est guère au rendez-vous |
+---------------------------------------------------------+
| Avec l'heure d'été le soleil n'est guère au rendez-vous |
+---------------------------------------------------------+
1 row in set (0.00 sec)

mysql> SELECT _utf8 "Avec l'heure d'été le soleil n'est guère au rendez-vous";
+---------------------------------------------------------+
| Avec l'heure d'?t? le soleil n'est gu?re au rendez-vous |
+---------------------------------------------------------+
| Avec l'heure d'?t? le soleil n'est gu?re au rendez-vous |
+---------------------------------------------------------+
1 row in set (0.00 sec)

mysql>

Quel format pour une base de donnée?

par thedavix » 04 avr. 2006, 09:26

Bonjour à vous :lol:
J'ai une question un peu technique à vous demander, quel format utilisez vous pour une bdd ?
latin1? Utf?ascii? pour avoir le minimum de problème de compatibilité avec les recherches sur les champs, accents etc etc :0)


Toutes interventions même pour dire bonjour sera la bienvenue :P


Davix :shock: