Quelle base de données devrais-je utiliser si mon application sera dans plusieurs langues (y compris chinois, japonais, etc.)? En d'autres termes, est MySQL meilleur ou pire que Postgres pour gérer Unicode, etc.? (Ce sont les deux seules bases de données que ma société d'hébergement a) p>
Aussi, quelle langue vaut mieux pour la manipulation d'unicode? Php ou rubis / rails? P>
4 Réponses :
Bases de données: strong> p>
Dans mon expérience, MySQL et Postgres ont manipulé unicode assez bien. p>
Langues: strong> p>
Il est possible d'utiliser PHP 5 avec Unicode, mais il faut ensuite faire attention aux cordes. De nombreuses fonctions de chaîne, par exemple celui qui comptent la longueur des caractères, renvoie le nombre d'octets et non le nombre de caractères.
Il existe des fonctions supplémentaires disponibles cependant, qui renvoient le nombre de caractères. p>
S'il s'agit d'un nouveau projet, vous devriez pouvoir utiliser les bonnes fonctions à partir du début. P>
Pour notre projet PHP existant, j'ai décidé de la quitter où il était (Windows 1252), en raison d'un projet interne et d'une valeur limitée pour UNICODE (tristement, j'adore vraiment Unicode). P>
Si votre pilote DB ne prend pas en charge Unicode, vous pouvez lire et écrire des matrices d'octets brutes et les convertir en chaînes à l'aide de votre codage souhaité.
mysql strong> n'a pas de support total pour Unicode (par exemple: caractères chinois en dehors du BMP) ( voir ). Il utilise un " codage UTF8 '(non vraiment utf-8). p>
Totalement vrai. MySQL stocke 1 à 3 octets et PostgreSQL 1 à 4 octets par UTF-8 Char. Allez pour PostgreSQL.
Dans mes cas
Cela a déjà été répondu. Juste upvote la réponse que vous êtes totalement d'accord au lieu de le republier une fois de plus.
postgreSQL + php6 est bon choix p>
Php6? Où? N'avaient-ils pas branchés les trucs UTF16 et émettent une réinitialisation il y a quelques mois? :-)
Je pense que vous devriez créer une question distincte pour la langue.
J'aime quand les gens commencent à apprendre de nouvelles langues de programmation car leur fournisseur d'hébergement les a installés.