您如何将炭炭128至255存储在varchar ..?
中sql似乎将其中的一些将其更改为char(63('?'。我不确定这是否与整理有关吗?UTF-8?n'..'?我已经尝试了coluate latin1_general_bin,不确定它是否支持扩展ASCII ..
显然与NVARCHAR一起使用,但是从理论上讲,这也应该在Varchar中使用。?
在ASCII 0-127字符范围以外的VARCHAR/CHAR列中存储的字符取决于与Collation关联的代码页面。代码页面未明确定义的字符将映射到类似的字符,或者,当没有'?'。
时您可以列出与此查询的关联代码页面一起列出校正:
SELECT name, description, COLLATIONPROPERTY(name, 'CodePage') AS CodePage
FROM fn_helpcollations();
dan的答案使我在写曲目上。
varchar肯定会存储扩展的ASCII,但这取决于与整理相关的代码页面。我正在使用Latin1_general_100_bin,该bin使用代码页1252。
https://en.wikipedia.org/wiki/windows-1252
根据此代码页,以下字符不确定:
129、141、143、144、157
实际上,SQL看起来不包括128至159的大多数字符。简单的解决方案只是删除这些字符。