SQL Server:显示问号的字符

时间:2013-12-27 10:39:34

标签: asp.net sql-server

我在我的ASP.net中使用连接字符串,但它在阿拉伯语中显示问号作为我的条目,我如何将条目转换为正常工作。

<add name="myodbc" 
     connectionString="Provider=SQLOLEDB;Data Source=xxx;Initial Catalog=xxx;User ID=xxx;Password=xxx;" />

2 个答案:

答案 0 :(得分:1)

只需要添加'N'IN STATMENT

insert into [xx].[dbo].[xx] (Name,Email,Telephone,Type_of_donation,donation_country,donation_category,transa‌​ction_time,payment_method,amount,referance_number) values ('','','',N'غير مشروط','xx','','xx','xx','32','16')

我也使用这种方法 store arabic in SQL database

答案 1 :(得分:0)

作为SQL开发人员,您应该在应用程序中使用Unicode数据类型。 Unicode数据类型是nc​​har,nvarchar和ntext。

这些数据类型使用Unicode字符表示。代码页不适用于这些数据类型。使用Unicode数据类型使您能够处理阿拉伯数据,即使系统排序规则不是阿拉伯语。

使用Unicode数据类型时,在插入和更新时保存阿拉伯数据免受损坏的最佳方法是在阿拉伯字符串之前添加大写字母N,否则如果默认数据库排序规则不是阿拉伯语,则数据将被损坏。使用N前缀和Unicode数据类型时,无论默认数据库归类是否为阿拉伯语,都可以保存阿拉伯数据。这是在VB或ASP等应用程序中处理Unicode数据类型的金钥匙,甚至在存储过程之类的SQL服务器中也是如此。

UPDATE TableName SET ColumnName = N'Arabic Text' WHERE id = 1000
INSERT INTO TableName (ColumnName) values(N’Arabic Text’)