Intereting Posts
Вставка данных в таблицу улья Добавить «поле» имени таблицы для SQL-результатов из UNION? Используйте sp_executesql для запуска xp_cmdshell с переменной Команда вставки SQL C # Как оптимизировать SQL-запрос с вычислением расстояния по долготе и широте? CHECK ограничить регистрационную дату на даты после 26 августа 2005 г. Объединить две таблицы / объединить значения в один столбец Как импортировать JSON-файл в PostgreSQL? SQL UPDATE считывает значения столбцов перед установкой Как сохранить упорядоченные элементы, которые часто меняют положение в БД Как объединить (объединить) аналогичные столбцы для удаления NULL через JOIN Где в соответствующей спецификации указано, что некоторые комментарии в сценарии SQL, по сути, должны выполняться как действительный SQL (MySQL)? Моно на Debian 7 Linq To SQL String ссылка на объект не установлена ​​в экземпляр объекта SQL Server: строка присутствует в одном запросе, отсутствует в другом Как просмотреть план объяснения в Oracle Sql-разработчике?

Как получить данные Unicode, хранящиеся непосредственно в поле, отличном от unicode, в виде формата varchar в sql-сервере

Я должен создать приложение C #, которое отображает данные Unicode в текстовом поле.

Но хранилище столбцов SQL-сервера имеет данные varchar, которые содержат данные Unicode. Но поскольку varchar основан не на юникоде, он отображает символьные строки типа «????????».

Ну, проблема, с которой я столкнулся, – это изменить тип столбца, поскольку на нем есть другое зависимое приложение.

Вы не можете хранить данные Unicode в varchar без преобразования в сортировку столбца. Итак, что был Unicode будет кодироваться совершенно иначе, когда он хранится в столбце varchar и, возможно, потерян. Если вы видите ????? то это означает, что в кодировке не удалось найти символ, который отображает значение ANSI, когда он хранится, и вместо этого он сохранил знак вопроса. Если вы хотите сохранить Юникод в базе данных, правильным решением будет изменить тип данных столбца. Если вы не можете изменить тип данных столбца, добавьте столбец, установленный в nvarchar и убедитесь, что ваши источники Unicode читают и записывают в этот столбец.

Вы можете попробовать прочитать данные в виде varbinary (…) из sql-сервера, а затем создать собственный StreamReader в C #, определяющий кодировку. Вам нужно знать, как кодируются данные, так как существует 5 стандартных кодировок Unicode, доступных в .NET.