2012-02-01 3 views
0

У меня есть таблица в базе данных с литовским_100_CI_AS сопоставлением. В некоторых строках есть текстовые поля с текстом, который содержит случайные символы вместо литовских. Можно ли изменить кодировку, чтобы я мог видеть буквы, которые мне нужны? Изменение сортировки ничего не делает.MS SQL Server 2008 Кодировка

+2

Возможно, нет. Если вы вставили его неправильно, данные уже будут потеряны. Я предполагаю, что стандартная сортировка БД - это нечто иное, чем литовский? В этом случае используйте префикс 'N' при вставке строковых литералов, чтобы избежать принуждения к кодовой странице настройки по умолчанию вашей базы данных. –

+0

текст или текст? (который не должен использоваться в любом случае) – gbn

+0

Для всех текстовых полей в этих таблицах я использую NVARCHAR (256), потому что это не очень длинные строки. Сопоставление базы данных - Lithuanian_100_CI_AS. Проблема в том, что данные были импортированы из CSV, у которого была неправильная кодировка. Я не могу повторно импортировать данные. – JNM

ответ

0

Если у вас есть данные, подобные этому (управляемые), то вы не можете реально сохранить его, изменив сортировку, но если вы установите правильную сортировку, это поможет вам получить данные, написанные правильно в вашей базе данных (более актуальным на будущее)

0

Нет, данные случайные.

Вы должны

  • использования NVARCHAR хранить эти данные правильно
  • убедиться, что клиент использует NVARCHAR для параметров
  • обеспечивают все строковые константы имеют N перед (пример: N'foobar')

Сортировка не кодируется: она определяет только строки и сравнивает/поддерживает, но определяет кодовую страницу для столбцов unicode (unicode = nvarchar)

Примечание: data types "text" and "ntext" are deprecated в SQL Server. Используйте максимальные типы

Смежные вопросы