Получить правильный вывод из UTF-8, хранящегося в VarChar, используя Entity Framework или Linq2SQL? - PullRequest
2 голосов
/ 01 апреля 2010

Borland StarTeam, похоже, хранит свои данные в виде данных в кодировке UTF-8 в полях VarChar. У меня есть сайт ASP.NET MVC, который возвращает некоторые пользовательские отчеты HTML с использованием базы данных StarTeam, и я хотел бы найти лучшее решение для получения правильных данных для перезаписи с MVC2.

Я попробовал несколько вещей с Encoding GetBytes и GetString, но я не смог заставить его работать (мы используем в основном Delphi на работе); затем я выяснил функцию T-SQL для возврата NVarChar из UTF-8, хранящегося в VarChar , и создал новые представления SQL, которые возвращают данные как NVarChar, но это медленно.

Фактическая проблема выглядит следующим образом: “description†вместо “description” как в SSMS, так и на веб-странице при использовании Linq2SQL

Есть ли способ получить правильные данные из этих полей, используя Entity Framework или Linq2SQL?

1 Ответ

2 голосов
/ 01 апреля 2010

Ну, как только вы получите данные, вы всегда можете попробовать это:

Encoding.UTF8.GetString(Encoding.Default.GetBytes(item.Description))

при условии, что поле закодировано на странице ANSI системы. Возможно, вам придется создать правильную кодировку с помощью Encoding.GetEncoding(), если по какой-то причине это не так (например, поиск по типу БД).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...