2009-08-22 9 views
1

Je travaille actuellement avec le site multilingue. Dans certains cas, je dois enregistrer les autres données de langue dans la base de données. Alors que je l'ai fait ne sauvegarde pas les données réelles ce que je suis entré. Au lieu de cela contient "????????????????". Après cela, j'ai changé le classement latin1_general_ci en utf8_bin.Quelle est la différence entre latin1_general_ci et utf8_bin dans MYSQL

Ensuite, cela fonctionne bien maintenant.

quelqu'un pouvait me expliquer les différences entre le classement disponible dans MySQL

Merci à l'avance.

Fero

+0

Peut-être que c'est une mauvaise pratique, mais j'utilise toujours latin1. Vous pouvez voir des caractères étranges si vous lisez votre table avec des applications aléatoires, mais sinse votre application est définie charset = UTF-8 elle sera affichée correctement au visiteur. Pour une raison stupide si je dis à MySQL d'utiliser utf8 mon application corrompt les chaînes en la relisant (en utilisant les fonctions mysql_ *, je suppose que c'est un problème lié à ces fonctions "sur le point d'être officiellement obsolètes"). – Havenard

Répondre

5

utf8_bin: comparer les chaînes par la valeur binaire de chaque caractère dans la chaîne

utf8_general_ci: comparer les chaînes en utilisant des règles linguistiques générales et en utilisant des comparaisons insensibles à la casse

utf8_general_cs: comparer les chaînes à l'aide règles de langage générales et utilisation de comparaisons sensibles à la casse

Par exemple, ce qui suit sera évalué à true avec l'un des classements UTF8_general, mais pas avec e utf8_bin collation: code:

Ä = A 
Ö = O 
Ü = U 

Avec le classement utf8_general_ci, ils redonnerait aussi vrai même si pas le même cas.

Aucun de ceux-ci n'est intrinsèquement «meilleur»; ils ont simplement des fonctionnalités différentes. Vous devez choisir celui qui convient le mieux à vos besoins particuliers.

+0

Est-il possible de trouver une description de tous les classements? Merci – Fero

+1

mysql> show collation; – serbaut

Questions connexes