无法在 SQL 服务器中插入阿拉伯语数据

Can not insert arabic data in SQL Server

我使用 SQL 服务器制作了一个 C# 应用程序,当我尝试从应用程序插入阿拉伯语数据时,它会在 SQL 服务器中显示为 ????

我使用此存储过程插入数据:

Create proc [dbo].[ADD_PRODUCT]
    @id_cat int,
    @ID_product varchar(30),
    @label_product varchar(50),
    @Qte_in_stock int,
    @price varchar(50),
    @image_products image
as
    INSERT INTO [dbo].[products]
           ([ID_product]
           ,[Label_product]
           ,[Qte_in_stock]
           ,[price]
           ,[image_products]
           ,[id_cat])
     VALUES
           (@ID_product,
           @label_product,
           @Qte_in_stock,
           @price,
           @image_products,
           @id_cat)

我知道当我在SQL服务器中插入阿拉伯语时,我使用这个命令

Insert into test ([Employee Name]) values (N'سارة')

但是我不知道如何在我的存储过程中做这个。

您应该使用 nvarchar 而不是您正在使用的 varchar 类型。

此外,您确定要使用 varchar 作为价格吗?那可能应该是 decimal(10,2)money.

这样的类型

使用NVARCHAR代替VARCHAR

试试下面,

CREATE PROC [dbo].[ADD_PRODUCT]
(
    @id_cat INT
   ,@ID_product VARCHAR(30)
   ,@label_product NVARCHAR(50)
   ,@Qte_in_stock INT
   ,@price VARCHAR(50)
   ,@image_products IMAGE
)
AS

INSERT INTO [dbo].[products]
  (
    [ID_product]
   ,[Label_product] -- This also have the same datatype - NVARCHAR
   ,[Qte_in_stock]
   ,[price]
   ,[image_products]
   ,[id_cat]
  )
VALUES
  (
    @ID_product
   ,@label_product
   ,@Qte_in_stock
   ,@price
   ,@image_products
   ,@id_cat
  )