Как прочитать строку с кодировкой UTF8, используя linq для сущностей
Я пытаюсь прочитать таблицу LimeSurvey, используя Linq для сущностей. Моя проблема в том, что LimeSurvey хранит строки в UTF8, а.Net это не нравится...
Итак, у меня есть простая функция для перечисления всех моих опросов, как я могу сказать Linq читать строки в формате UTF8?
Моя функция:
public static List<Lime_Surveys> List()
{
using (LimeSurveyEntities db = new LimeSurveyEntities())
{
IQueryable<Lime_Surveys> list = db.Lime_Surveys.Include("Lime_Surveys_LanguageSettings");
return list.ToList();
}
}
1 ответ
Решение
Вам нужно изменить кодировку строки, которую вы читаете, используя
Encoding.UTF8.GetString(Encoding.Default.GetBytes(yourstring))
Проверьте этот ответ: Получить правильный вывод из UTF-8, хранящегося в VarChar, используя Entity Framework или Linq2SQL?