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

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 ответ

Решение

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

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

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

Другие вопросы по тегам