Reputation: 13803
How can I insert Arabic characters into a SQL Server database? I tried to insert Arabic data into a table and the Arabic characters in the insert script were inserted as '??????'
in the table.
I tried to directly paste the data into the table through SQL Server Management Studio and the Arabic characters was successfully and accurately inserted.
I looked around for resolutions for this problems and some threads suggested changing the datatype to nvarchar
instead of varchar
. I tried this as well but without any luck.
How can we insert Arabic characters into SQL Server database?
Upvotes: 35
Views: 57138
Reputation: 91
I think the solution is to first set the field to ntext
, then write N
followed by the value. For example:
insert into eng(Name) values(N'حسن')
Upvotes: 9
Reputation: 1
If you are trying to load data directly into the database like me, I found a great way to do so by creating a table using Excel and then export as CSV. Then I used the database browser SQLite to import the data correctly into the SQL database. You can then adjust the table properties if needed. Hope this would help.
Upvotes: 0
Reputation: 700342
For the field to be able to store unicode characters, you have to use the type nvarchar
(or other similar like ntext
, nchar
).
To insert the unicode characters in the database you have to send the text as unicode by using a parameter type like nvarchar
/ SqlDbType.NVarChar
.
(For completeness: if you are creating SQL dynamically (against common advice), you put an N before a string literal to make it unicode. For example: insert into table (name) values (N'Pavan')
.)
Upvotes: 62