2014-06-05 2 views
0

J'ai juste un peu d'informations sur MySql. J'ai juste besoin de créer une base de données pour stocker une partie d'un jeu vidéo, pris de partout dans le monde. (Le jeu sera dans tous les magasins disponibles, aussi chinois etc ..)Créer une base de données, quel est le bon charset pour mon but

Je suis inquiet pour le jeu de caractères. Db de schéma sera similaire à (pseudocode):

leaderboard("PhoneId" int primary key, name varchar(50), score smallint); 

Que se passerait-il si un gars chinois va mettre son score avec un nom avec celui des personnages? Dois-je spécifier quelque chose dans le script de création db?

create database if not exists "test_db"; 

create table if not exists "leaderboard" (
    "phoneid" integer unsigned NOT NULL, 
    "name" varchar(20) NOT NULL, -- Gestione errori per questo 
    "score" smallint unsigned NOT NULL default 0, 
    "timestamp" timestamp NOT NULL default CURRENT_TIMESTAMP, 
    PRIMARY KEY ("phoneid") 
); 
+1

Je choisirais toujours UTF8 –

+1

"SET NAMES utf8" dans votre Detabase – Mubo

Répondre

1

UTF8 est votre choix évident.

Pour plus de détails sur UTF8 et de l'intégration de MySQL, vous pouvez passer par les pages de didacticiel:

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

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

Il y a certaines choses qui doivent garder à l'esprit tout en utilisant le UTF8 charset dans n'importe quelle base de données. Par exemple, pour économiser de l'espace avec UTF-8, utilisez VARCHAR au lieu de CHAR. Sinon, MySQL doit réserver trois octets pour chaque caractère dans une colonne utf8 CHAR CHARACTER SET parce que c'est la longueur maximale possible.

De même, vous devez analyser les autres contraintes de performance et concevoir votre base de données.