我正在创建一个阿拉伯语网站,在我创建数据库并开始在其中编写阿拉伯语文本之后,它只显示了???? ,所以我将我的数据库的排序规则从SQL_Latien更改为Arabic_CI_AI
但我还是得到了????在我的字段中,当我检查字段的属性时,我发现它是SQL_Latien并且它没有改变
那么如何在不重复构建数据库的情况下解决此问题
请尽快回复
先谢谢
答案 0 :(得分:1)
数据库排序规则只是新列的默认设置。
要更改现有列的排序规则,您必须alter table
。例如:
alter table YourTable alter column col1 varchar(10) collate Arabic_CI_AI
答案 1 :(得分:0)
归类序列是排序时出现字符的顺序(即使用'ORDER BY'子句)。不同的排序规则将导致不同的排序顺序。
这显然不是你想要的。您的问题是存储和检索ASCII范围之外的UNICODE字符(即阿拉伯字符)。为此,存储此数据的数据类型必须支持UNICODE,而不是ASCII。简单地说,在定义列时,请使用数据类型nchar,nvarchar和ntext,而不是char,varchar和text。