将Unicode代码插入SQL

时间:2011-09-22 12:40:43

标签: sql-server sql-server-2008

我正在sqlserver中创建一个字典表。

我要插入unicode代码\ u0C2D \ u0C3E \ u0C37。如何在插入sqlserver时对它们进行编码以显示国际字符。

我使用NCHAR作为该特定列的数据类型。

由于 ķ

1 个答案:

答案 0 :(得分:4)

正如nonnb评论的那样,你可以在INSERT语句中使用Unicode文字语法。如果由于某种原因您无法使用Unicode文字语法并且必须编码特定代码点,请使用NCHAR()函数。以下示例显示了两者:

-- create temp table for this example
create table #TestDictionary (
    [Key] nchar(10),
    Value nvarchar(100)
)

-- insert dictionary entries for the 3 specific code points mentioned

insert into #TestDictionary ([Key],Value)
values (nchar(0x0C2D), 'TELUGU LETTER BHA')

insert into #TestDictionary ([Key],Value)
values (nchar(0x0C3E), 'TELUGU VOWEL SIGN AA')

insert into #TestDictionary ([Key],Value)
values (nchar(0x0C37), 'TELUGU LETTER SSA')

-- If your keyboard allows you to type it into the script directly then it
-- is probably easiest to just use unicode literal syntax.
insert into #TestDictionary ([Key],Value)
values (N'క ', 'TELUGU LETTER KA')

-- Non-unicode string literals can also be inserted into NCHAR/NVARCHAR columns
insert into #TestDictionary ([Key],Value)
values ('A', 'LATIN CAPITAL LETTER A')


select *
from #TestDictionary

可以在http://msdn.microsoft.com/en-us/library/ms182673.aspx

找到NCHAR()的参考和示例