sql server 存特殊字符
各位高手,小弟碰到一个难题,由于要和国外传送接口,下面是接口的规则.
Value hex code ASCII
+0C0 ä
+1C1 A
+2C2 B
+3C3 C
+4C4 D
+5C5 E
+6C6 F
+7C7 G
+8C8 H
+9C9 I
其他都没问题,唯独表示+0时候要用特殊字符ä表示,我尝试用NVARCHAR表示ä成功,但对方表示是双字节的,必须用单字节表示,但我SQLDERVER是中文字符集,无法用单字节表示这个ä,
大家有什么好的办法吗
谢谢
[解决办法]
那你就传0xC0给他
[解决办法]
if object_id('tbl')is not nulldrop table tblgocreate table tbl(A varchar(20),B varchar(20),C Nvarchar(20),)goinsert tblselect '+0','C0',N'ä' union allselect '+1','C1',N'A' union allselect '+2','C2',N'B'select * from tbl(3 行受影响)A B C-------------------- -------------------- --------------------+0 C0 ä+1 C1 A+2 C2 B
[解决办法]
谁说是双字节的喔?
select len(cast(N'ä' as nvarchar(2))) lenalena-----------1(1 row(s) affected)
[解决办法]
用varchar 表示不了,会出现乱码的。
[解决办法]
用一个数字去表示这个东西吧!传过去再处理。
[解决办法]
直接用 varbinary 好了
[解决办法]
字符集的问题,在考虑数据类型的时候要注意了,varchar或nvarchar