SQL UPDATE不适用于外语(阿拉伯语)

Yas*_*ser 1 sql sql-server-2008

UPDATE给出 ????updater字段是用阿拉伯语写的,这是我的查询:

UPDATE  students 
SET first_name = '?????' , last_name = '????? ??????' , 
    father_name = '????? ??????' , mother_name = '', 
    birth_date = '1/1/1990 12:00:00 AM' , education_level = '' , 
    address = '' , notes = '' 
WHERE student_id = 33
Run Code Online (Sandbox Code Playgroud)

以下是更新的结果:

student_id  first_name  last_name   mother_name     father_name   birth_date    
33           ?????      ?????          ??????       ???????????   1990-01-01
Run Code Online (Sandbox Code Playgroud)

//答案很棒,谢谢大家,另一个问题是我在C#程序中使用了这种UPDATE语法

command.CommandText = "UPDATE  students SET " +
        "first_name = " + "'" + first_name + "'" + " , last_name = " + "'" + last_name + "'" +
         " , father_name = " + "'" + father_name + "'" + " , mother_name = " + 
        "'" + mother_name + "'" + ", birth_date = " + "'" + birth_date + "'" +
        " , education_level = " + "'" + education_level + "'"  +
        " , address = " + "'" + address + "'" + " , notes = " + "'" + notes + "'" +
        " WHERE student_id = " + id ;
Run Code Online (Sandbox Code Playgroud)

//如何使用字符N.

Mar*_*ith 8

您已经忘记了N字符串文字之前的前缀,这是必需的,因此它们将被视为nvarchar而不是varchar

SET first_name = N'?????' 等等

没有它,文本被强制转换为默认排序规则的代码页可以处理的任何字符.