Although nvarchar and ntext fields are used to store unicode data, but I had
a problem to store an unicode string in a nvarchar or ntext field which it's
collation was SQL_Latin1_General_CP1. The cause of this problem is that if you
don't specify that your string is unicode, SQL Server will convert it to the
non-Unicode code page of the current database before it uses the string, so you
see ? instead of your string in the database.
To solve this problem when dealing with Unicode string constants in SQL
Server, you must precede all Unicode strings with a capital letter N. The "N"
prefix stands for National Language in the SQL-92 standard, and must be
To read more about this subject visit the following pages: