Как nonnb прокомментировал, вероятно, можно просто использовать синтаксис литерала Unicode в операторах INSERT. Если по какой-то причине вы не можете использовать буквенный синтаксис 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() можно найти на сайте http://msdn.microsoft.com/en-us/library/ms182673.aspx
Где вы делаете вставку из? Если это через библиотеку доступа к данным, большинство современных - это Unicode. –
\ u0C2D \ u0C3E \ u0C37 на самом деле не юникод, это проприетарное строковое кодирование символов Юникода. Согласно ChrisKelly, вам нужно будет декодировать эти символы (в SQL или на другом языке), а затем вы можете вставить их с помощью префикса «N», например. INSERT INTO MyTable VALUES (N'ΔЙ ק, 7 あ 叶葉 말 ') – StuartLC
Вы имеете в виду, прежде всего, мне нужно декодировать строку \ u0C2D \ u0C3E \ u0C37, а затем вставить ?. Я использую файл сценария sql для вставки в таблицу. Я понятия не имею, как декодировать эти коды unicode..pls help. – user597677