最近,我们遇到了与字段相关的编码问题,该字段在SQL Server中存储为varchar(120)。在SSMS中,varchar显示为:
“谁杀了乔本?”
但是,将其引入python后,显示为:
我已经从Python方面对此进行了研究,并且没有任何奇怪的事情发生。我的理论是,SQL Server中的varchar接受的是UTF-8字符,这些字符在python中的显示方式不同于SSMS。我对SQL Server中的编码不是很熟悉。有人可以让我知道以下内容:
- SSMS中有没有办法查看varchar的编码?例如,看到\ x82而不是显示当前来自SSMS的逗号?
- 我们正在使用SQL Server2008。是否可以在不使用导入/导出工具或转储到平面文件的情况下,将任何UTF-8字符的编码更改为ASCII字符?即可以通过查询进行此转换吗?
- 有什么方法可以通过查询以编程方式识别有问题的记录(问题定义为ASCII不支持的UTF-8字符)?
先感谢您!
使用,sp_help N'table_name';
我发现此VARCHAR
列的归类为SQL_Latin1_General_CP1_CI_AS
。
sp_help N'table_name';
。查看基于“名称”的列,然后查看“ collation_name”列。
VARCHAR
列使用什么排序规则?