2017-03-31 3 views
1

Quel type de données dois-je utiliser pour une longueur variable avec des caractères allemands?Quel type de données dois-je utiliser pour une longueur variable avec des caractères allemands?

Je ne suis pas sûr que ce qui suit est correct.

public const string stFIELD_DEFINITIONS = " fstInfo VARCHAR(100) CHARACTER SET UNICODE_FSS, fiKeyID INTEGER PRIMARY KEY "; 

"VARCHAR (x) CHARACTER SET UNICODE_FSS" est décrit comme "longueur fixe" par https://firebirdsql.org/manual/migration-mssql-data-types.html.

Répondre

1

VARCHAR n'est pas de longueur fixe, il a seulement une longueur maximale. Cela ressemble à une erreur copier/coller à partir de l'entrée de nchar trois lignes ci-dessus. Toutefois, cela dit, au lieu de UNICODE_FSS, vous devez utiliser UTF8. La différence est que UNICODE_FSS est limité à 1-3 octets UTF-8 (ce que l'on appelle le «système de fichiers de sécurité»), alors que UTF8 permet la gamme complète. Ce document semble être un peu désuet pour être honnête, par exemple l'équivalent de bigint est BIGINT, pas INT64 et identifiant unique serait mieux comme CHAR(16) CHARACTER SET OCTETS avec le UUID functions