我正在sqlserver中创建一个字典表。
我要插入unicode代码\ u0C2D \ u0C3E \ u0C37。如何在插入sqlserver时对它们进行编码以显示国际字符。
我使用NCHAR作为该特定列的数据类型。
由于 ķ
答案 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
找到NCHAR()的参考和示例