When
dealing with Unicode string constants in SQL Server you must precede all
Unicode strings with a capital letter N. The "N" prefixes
stands for National Language in the SQL-92 standard, and must be uppercase. If
you do not prefix a Unicode string constant with N, SQL Server will convert it
to the non-Unicode code page of the current database before it uses the string.
The
Prefix N conveys
to the Sql Server that following literal string is of Unicode type. While
storing Unicode (i.e. Japanese, Korean, Chinese etc) Characters in NChar,
NVarchar or NText columns or variables we need to prefix the literal strings by
letter N.
See the
example
Creating
a table
Create Table MultiLanguage (Languageid int,
LanguageName varchar(10), Language nvarchar(100))
|
Now I am
inserting some records without using prefix N
Insert into MultiLanguage values (1, 'Hindi', 'मेरा नाम बागेश कुमार सिंह है')
Insert into MultiLanguage values (2, 'Urdu', 'میرا نام باگےش کمار سنگھ ہے')
Insert into MultiLanguage values (3, 'English', 'My Name is Bagesh kumar singh')
Insert into MultiLanguage values (4, 'Gujrati', 'મારું નામ કુમાર સિંહ Bagesh છે')
Insert into MultiLanguage values (5, 'Malayalam','എന്റെ പേര് കുമാർ സിംഗ് Bagesh ആണ്')
Insert into MultiLanguage values (6, 'Marathi', 'माझे नाव कुमार सिंग Bagesh आहे')
Insert into MultiLanguage values (7, 'punjabi', 'ਮੇਰਾ ਨਾਮ ਕੁਮਾਰ ਸਿੰਘ Bagesh ਹੈ')
Insert into MultiLanguage values (8, 'Tamil', 'என் பெயர் குமார் சிங் Bagesh ஆகும்')
Insert into MultiLanguage values (9, 'Telagu','నా పేరు కుమార్ సింగ్ Bagesh ఉంది')
|
See the
output
I mean Unicode
string show?? ? Here we are not getting the correct value.
Inserting
the value using N prefix
Insert into MultiLanguage values (1, 'Hindi', N'मेरा नाम बागेश कुमार सिंह है')
Insert into MultiLanguage values (2, 'Urdu', N'میرا نام باگےش کمار سنگھ ہے')
Insert into MultiLanguage values (3, 'English', N'My Name is Bagesh kumar singh')
Insert into MultiLanguage values (4, 'Gujrati', N'મારું નામ કુમાર સિંહ Bagesh છે')
Insert into MultiLanguage values (5, 'Malayalam', N'എന്റെ പേര് കുമാർ സിംഗ് Bagesh ആണ്')
Insert into MultiLanguage values (6, 'Marathi', N'माझे नाव कुमार सिंग Bagesh आहे')
Insert into MultiLanguage values (7, 'punjabi', N'ਮੇਰਾ ਨਾਮ ਕੁਮਾਰ ਸਿੰਘ Bagesh ਹੈ')
Insert into MultiLanguage values (8, 'Tamil', N'என் பெயர் குமார் சிங் Bagesh ஆகும்')
Insert into MultiLanguage values (9, 'Telagu', N'నా పేరు కుమార్ సింగ్ Bagesh ఉంది')
|
See the
output
Thanks!