2010-11-05 10 views
0

Я перемещаю таблицу из MySQL в SQL Server 2008, которая содержит смесь символов в одном, например, english, Français, ΕλλάδαСравнение SQL Server 2008

Когда я это делаю, я либо получаю греческий символ, представленный ????? или я теряю французские/испанские акценты?

Я установил свои столбцы как nvarchar для юникода и играл с сортировками, но я не могу показаться, что это один из них.

+1

Как вы передаете данные между двумя системами? Связанный сервер какого-либо типа, или CSV-файлы и т. Д.? –

ответ

2

Оказалось, что моя проблема связана с сценарием активации вставки, который я запускал. Вы используете поле NVarchar, вам нужно добавить «N» к вставке. т.е. myColumn = N'Ελλάδα '.

+0

Это дубликат моего ответа http://stackoverflow.com/questions/4106373/sql-server-2008-collation/4111782#4111782 –

1

Какие SQL-команды вы используете?

При вставке в MS SQL вам нужно использовать ключевое слово COLLATE для каждого столбца, который имеет специальную сортировку.

+0

Как бы точно СОЗДАТЬ «смесь символов в одном, например, английском, Français, Ελλάδα»? –

+0

Я хочу, чтобы это зависело от того, что означает «содержит смесь персонажей в одном» - значит, что в этом случае? – SilverSkin

0

Вы должны убедиться, что символы MySQL правильно преобразуются в UCS-2 (UNICODE), используемый SQL Server из любой сортировки/кодирования у вас есть в MySQL (вероятно, UTF-8?)

См. например, Insert UTF8 data into a SQL Server 2008