Французский текст, сохраненный в SQL Server, выглядит неправильно, как заставить его выглядеть правильно - PullRequest
2 голосов
/ 24 марта 2009

У меня есть таблица, которая состоит из следующей структуры.

 CREATE TABLE [dbo].[tblData](
    [ID] [numeric](18, 0) NOT NULL,
    [QID] [varchar](25) NOT NULL,
    [Data] [nvarchar](255) NULL,
  CONSTRAINT [PK_tblData] PRIMARY KEY CLUSTERED 
   (
      [ID] ASC,
      [QID] ASC
   )
 ) ON [PRIMARY]

В приведенном выше примере столбец [data] содержит смесь разных языков. Мы собираем эти данные через веб-сайт, на котором мы устанавливаем соответствующую кодовую страницу. Я понимаю, что данные, которые были вставлены в нашу таблицу, соответствуют кодовой странице, которая была установлена ​​на веб-странице во время сбора данных. Эта информация хранится в другом месте.

Все языки, которые мы используем, прекрасно выходят из таблицы. Например, выходит китайский и отображает так, как нам нужно. Мы пытаемся записать эти данные в текстовый файл Unicode. Чтобы быть конкретным: «UCS-2 LE» Существует только один язык, который не выходит, и это французский. По какой-то причине обычно акцентированные символы выходят из строя совершенно неправильно. Я обнаружил, что данные (я надеюсь), похоже, «хранятся» как неправильные символы.

Коллега полагает, что эти данные в таблице, вероятно, верны, и нам просто нужно преобразовать их либо в правильный набор символов, либо в правильную кодовую страницу для правильного отображения данных, прежде чем мы поместим данные в текст UCS-2 LE файл.

Может ли кто-нибудь рассказать о моей проблеме? Спасибо!

Обновление : Я нашел это: http://windowsitpro.com/windowsstorage/Article/ArticleID/14045/windowsstorage_14045.html - это говорит о том, что то, что мне нужно, не может быть сделано? Я думаю, что то, что я хотел бы сделать, немного отличается, но это должно быть [ложной] надеждой.

1 Ответ

1 голос
/ 24 марта 2009

Ваш коллега прав. Поскольку данные хранятся в типе данных UNICODE, формат на родном языке должен быть сохранен.

То, что должно произойти, - это когда ВЫ ВЫБИРАЕТЕ данные, и вы хотите убедиться, что для пользователя, выполнившего запрос, т.е. его языковой стандарт, используется соответствующее сопоставление.

Обратитесь к следующей электронной книге ссылок для использования параметров сортировки в SQL Server

http://msdn.microsoft.com/en-us/library/ms144260(SQL.90).aspx

Надеюсь, это поможет. Приветствия.

...