我的SQL Server上有一个产品数据库表。我尝试通过C#应用程序更改其HTML文本。到目前为止一切都很好。
HTML包含• - 枚举符号。即使在SQL Server Management Studio中显示此内容,它也不会显示在Web浏览器中,即使我在应用程序中重新打开该产品也不会显示。
如果我使用Management Studio通过在表视图(非SQL)中键入产品来更新产品,则•在所有应用程序中正确显示。 表的排序规则是:SQL_Latin1_General_CP850_CI_AS
我像这样更新产品:
UPDATE Products SET ShopText = '• 1<br /> • 2' WHERE ItemCode = '12345'
我做错了什么?
答案 0 :(得分:2)
尝试将N
放在文字的前面......
SELECT '• 1<br /> • 2' COLLATE SQL_Latin1_General_CP850_CI_AS
,N'• 1<br /> • 2' COLLATE SQL_Latin1_General_CP850_CI_AS
重要!
确保您的专栏Products.ShopText
也是NVARCHAR
(或NCHAR
)列...
N
,{NCHAR
处签名NVARCHAR
1}}和NTEXT
(已弃用),以及N
的文字,如N'SomeText'
试试这个,它可以在没有N
的情况下工作(但不要在整个数据库中混合排序!):
SELECT '• 1<br /> • 2' COLLATE Latin1_General_CI_AS
扩展的Ascii 使用第一个0-127来编码普通拉丁语。表的上半部分取决于实际的排序规则/代码页。使用 1字节编码的字符串,您无法确定字符串是否保持不变: