Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.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_Collation - Fatal编程技术网

SQL排序问题

SQL排序问题,sql,sql-server,collation,Sql,Sql Server,Collation,我正在制作一个阿拉伯语网站,在我创建了数据库并开始在其中写入阿拉伯语文本后,它就显示出来了,因此,我将数据库的排序规则从SQL_Latien更改为阿拉伯语_CI_AI 但我还是得到了????在我的字段中,当我检查字段的属性时,我发现它是SQL_Latien,并且没有改变 那么,在不重复构建数据库的情况下,我应该如何解决这个问题呢 请尽快回复 提前感谢数据库排序规则只是新列的默认设置 要更改现有列的排序规则,您必须。例如: alter table YourTable alter column co

我正在制作一个阿拉伯语网站,在我创建了数据库并开始在其中写入阿拉伯语文本后,它就显示出来了,因此,我将数据库的排序规则从SQL_Latien更改为阿拉伯语_CI_AI

但我还是得到了????在我的字段中,当我检查字段的属性时,我发现它是SQL_Latien,并且没有改变

那么,在不重复构建数据库的情况下,我应该如何解决这个问题呢

请尽快回复


提前感谢

数据库排序规则只是新列的默认设置

要更改现有列的排序规则,您必须。例如:

alter table YourTable alter column col1 varchar(10) collate Arabic_CI_AI

排序规则序列是排序时字符出现的顺序(即使用“order BY”子句)。不同的排序规则将导致不同的排序顺序。

这显然不是您想要的。您的问题是存储和检索ASCII范围之外的UNICODE字符(即阿拉伯语字符)。为此,存储此数据的数据类型必须支持UNICODE,而不是ASCII。简单地说,在定义列时,使用数据类型nchar、nvarchar和ntext,而不是char、varchar和text。

这是否适用于服务器/实例的默认设置,并分别适用于数据库?如果是这样,我建议更改这两个位置的排序规则顺序,然后更新现有的表。@Dems:新数据库是从
模型
数据库复制的。我不认为存在服务器范围的默认排序规则。非常感谢,这节省了我的时间。我将排序设置从拉丁语改为阿拉伯语,之后我也得到了??在我的桌子上插入阿拉伯语。我把桌子换了以后,它就好了。再次感谢Andromar