2010-11-05 17 views
0

Je déplace une table de MySQL vers SQL Server 2008 qui contient un mélange de caractères dans un, par ex. anglais, Français, 0λλάδαCollation SQL Server 2008

Lorsque je fais cela, je reçois le caractère grec représenté par ????? ou je perds les accents français/espagnol?

J'ai défini mes colonnes comme nvarchar pour unicode et j'ai joué avec les classements, mais je n'arrive pas à comprendre cela.

+1

Comment transférez-vous les données entre les deux systèmes? Serveur lié d'une sorte, ou fichiers CSV, etc? –

Répondre

2

Il s'est avéré que mon problème était avec le script d'insertion d'actuall que j'exécutais. En utilisant le champ NVarchar, vous devez ajouter un "N" à l'insertion. c'est-à-dire myColumn = N'Ελλάδα '.

+0

Ceci est le double de ma réponse http://stackoverflow.com/questions/4106373/sql-server-2008-collation/4111782#4111782 –

1

Quelles commandes SQL utilisez-vous? Lors de l'insertion dans MS SQL, vous devez utiliser le mot-clé COLLATE pour chaque colonne ayant un classement spécial.

+0

Comment pourrait-on exactement COLLIER pour "un mélange de caractères dans un, par exemple, anglais, français, Ελλάδα"? –

+0

Je suppose que cela dépend de ce que signifie «contenir un mélange de caractères en un» - qu'est-ce qu'un dans ce cas? – SilverSkin

0

Vous devez vous assurer que les caractères MySQL sont convertis correctement UCS-2 (unicode) utilisés par SQL Server à partir quel que soit le classement/encodage que vous avez dans MySQL (probablement, utf-8?)

Voir. par exemple, Insert UTF8 data into a SQL Server 2008