sql server中的多种人类语言排序规则

时间:2013-12-12 10:34:43

标签: sql sql-server unicode ssis collation

我有点不好意思承认我在SQL Server之前从未真正需要担心Unicode文本,所以我在这里摸索。

我下载了Geonames Cities1000数据文件并将其加载到SQL Server中,所有文本字段都是大型nvarchars,以避免截断。当我搜索一个我熟悉的城市(Bucerias,墨西哥)时,我查询了我的桌子并找到了它,但它的列表如下:

Bucerías

实际拼写(我导入的文件中的内容以及您开车时城市标志上的内容)是:

Bucerías

我是否需要使用不同的整理来重新制作表格?我正在处理来自全球各地的城市名称,所以我在这里不知道如何为此设置校对,或者如果这甚至是我的问题。

简而言之,我希望Bucerías出现在Bucerías,مورای,یوتا,穆雷出现为مورای,یوتا,穆雷等。

1 个答案:

答案 0 :(得分:0)

最终帮助的是选择65001(UTF-8)代码页。当我检查Unicode框时,它导致解析器错过了deliminator控制字符,因此未经检查。

  1. 确保为Unicode文本设置输出列。
  2. 确保代码页设置为65001。
  3. 确保目标列(SQL表的列)是nvarchar。
  4. 现在我的SQL查询改编了Bucerías!

    Here's a picture of what helped