Получить правильный вывод из 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()
если по какой-то причине это не так (например, поиск по типу БД).