Sql中“保利•香槟花园”的中文分隔点保存到数据库就变为问号

需要保存“保利•香槟花园”字样到数据库,可保存进去后总是变成“保利?香槟花园”。

直接用SQl server 打开表填写,同样不行,于是把原来的varchar类型改为nvarchar,直接粘贴正常。

但是通过insert、update语句保存,错误依旧。

最后去网上查类似问题,发现修改了insert、update语句,在要更新的字段前增加一个大写的N就成了。

 

------
SQL Server 2005 联机丛书  

使用 N 前缀
在服务器上执行的代码中(例如在存储过程和触发器中)显示的 Unicode 字符串常量必须以大写字母 N 为前缀。即使所引用的列已定义为 Unicode 类型,也应如此。如果不使用 N 前缀,字符串将转换为数据库的默认代码页。这可能导致不识别某些字符。

例如,在前面示例中创建的存储过程可以按以下方式在服务器上执行:

 复制代码 
EXECUTE Product_Info @name = N'Chain'
 

使用 N 前缀的要求适用于服务器上产生的字符串常量和从客户端发送的字符串常量。

 

posted @ 2011-04-06 14:14  laoding  阅读(618)  评论(0编辑  收藏  举报