Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL代码中的西里尔字母符号在插入后不正确_Sql_Sql Server_Database_C# 4.0_Collation - Fatal编程技术网

SQL代码中的西里尔字母符号在插入后不正确

SQL代码中的西里尔字母符号在插入后不正确,sql,sql-server,database,c#-4.0,collation,Sql,Sql Server,Database,C# 4.0,Collation,我使用SQL Server 2005,并尝试存储西里尔字母字符,但我无法使用SQL代码运行这是SQL Server: INSERT INTO Assembly VALUES('Македонски парлиамент број 1','',''); 或者从C#发生同样的问题,但是从SQL Server插入/更新列可以正常工作,并且可以正常存储 列的数据类型是nvarchar您必须在字符串之前添加N前缀 当隐式声明字符串变量时,默认情况下它被视为varchar。添加前缀N表示后续字符串采用Un

我使用SQL Server 2005,并尝试存储西里尔字母字符,但我无法使用SQL代码运行这是SQL Server:

INSERT INTO Assembly VALUES('Македонски парлиамент број 1','','');
或者从C#发生同样的问题,但是从SQL Server插入/更新列可以正常工作,并且可以正常存储


列的数据类型是
nvarchar

您必须在字符串之前添加N前缀

当隐式声明字符串变量时,默认情况下它被视为varchar。添加前缀N表示后续字符串采用Unicode(nvarchar)

以下是一些阅读:


我不确定您是否正在执行静态存储过程或脚本编写,但在将文本保存到磁盘时,可能文本编码不正确。我遇到了这个问题,通过更正保存到磁盘用于osql处理的SQL的编码,我的问题在PowerShell中得到了解决:

     Out-File -FilePath "MyFile.sql" -InputObject $MyRussianSQL -Encoding "Unicode" -Force;
     & osql -U myuser -P password -i "MyFile.sql";

您必须使用nvarchar/nchar数据类型加上N前缀:
。。。数值(N'Паааааааааааааа
     Out-File -FilePath "MyFile.sql" -InputObject $MyRussianSQL -Encoding "Unicode" -Force;
     & osql -U myuser -P password -i "MyFile.sql";