回答

1

为了妥善存放,因此能够检索不在ASCII字符集(即0 - 255)适合VARCHAR,你需要做两件事情:

  1. 领域你正在存储的数据需要被定义为NVARCHAR,而不是VARCHAR(虽然技术上NTEXT确实工作,不要使用它,因为它已经被更好的NVARCHAR(MAX)取代)。

  2. 您需要确保发送到NVARCHAR字段的变量或字符串文字被声明为NVARCHAR。对于只意味着确保DECLARE语句将变量显示为NVARCHAR的变量。对于字符串文字,它们需要以大写“N”作为前缀,如:N'some thai characters'。小写“n”不起作用,并且“N”表示该字符串将被解释为VARCHAR,即使Unicode字符在单引号内可见。例如,请尝试以下操作:

    SELECT '₺'; 
    

    回报:?
    即使你看到SELECT说法正确的字符。但是:

    SELECT N'₺'; 
    

    回报:
    这一个工作,因为文字是用 “N” 为前缀。