Недавно у нас была проблема с кодировкой, связанной с полем, которое хранится в SQL Server как varchar (120). В SSMS varchar выглядит как:
"Кто убил JonBen? T?"
Тем не менее, когда он введен в Python, он выглядит так:
Я исследовал это со стороны Python, и ничего странного не происходит. Моя теория состоит в том, что varchar в SQL Server принимает символы UTF-8, которые отображаются в python иначе, чем в SSMS. Я не очень знаком с кодированием в SQL Server. Может кто-нибудь, пожалуйста, дайте мне знать следующее:
- Есть ли способ в SSMS для просмотра кодировки varchar? Например, см. \ X82 вместо отображения запятой, как это в настоящее время от SSMS?
- Мы используем SQL Server 2008. Есть ли способ изменить кодировку для любых символов UTF-8 на символы ASCII без использования инструментов импорта / экспорта или выгрузки в плоский файл? Т.е. я могу сделать это преобразование через запрос?
- Есть ли какой-либо способ программно идентифицировать проблемные записи с помощью запроса (проблемный определяется как символы UTF-8, которые не поддерживаются через ASCII)?
Заранее спасибо!
Использование sp_help N'table_name';
я обнаружил , что Упорядочение этого VARCHAR
столбца: SQL_Latin1_General_CP1_CI_AS
.
sp_help N'table_name';
. Посмотрите на столбец на основе «name», а затем посмотрите на столбец «collation_name».
VARCHAR
столбец?