【问题标题】:SQL Server backup collation issueSQL Server 备份排序规则问题
【发布时间】:2011-05-18 10:06:37
【问题描述】:

我得到了 SQL Server 2005 备份,排序规则设置为:SQL_Latin1_General_CP1_CI_AI

当我选择任何数据时,看起来数据以不同的排序规则保存,例如:

user : "Micha³" - 应该是 "Michał" 等等

我尝试将表和数据库转换为波兰排序规则之一,也尝试使用排序规则select,但它看起来仍然相同。

有没有人遇到过类似的问题并且知道实际发生了什么?

【问题讨论】:

    标签: sql sql-server sql-server-2008 collation


    【解决方案1】:

    排序规则(排序顺序)意味着字符编码(将字符映射到字节) - 您是否尝试过使用 Unicode(utf-8、utf-16)?紧要关头,Latin-2(又名 ISO-8859-2,中欧单字节字符集)可能是您要找的。​​p>

    换句话说,Latin-1 是西欧语言的单字节字符编码,但它不能存储中欧(或其他)语言的字符。

    另见this for a longer explanation of charsets, collations, and other headaches

    【讨论】:

    • @Martin:是的,我吹毛求疵了——给定的排序规则仅在单个字符编码中有意义,因此选择排序规则意味着字符编码。已编辑。
    • 有道理,但这并不是说我不能用中欧字符串文字更新这些字段,因为我可以。困扰我的是为什么我检索的备份没有以适当的方式显示这些字母。
    【解决方案2】:

    你说“当我选择...”。查询结果显示在哪里?

    【讨论】:

      【解决方案3】:

      长话短说,排序规则与这个问题没有太大关系,保存数据的另一个应用程序使用了一些混合编码,我发现他们无法显示数据本身。

      【讨论】:

        猜你喜欢
        • 2010-10-25
        • 1970-01-01
        • 2011-11-04
        • 1970-01-01
        • 2011-05-05
        • 2011-11-14
        • 1970-01-01
        • 2012-06-08
        • 2010-10-07
        相关资源
        最近更新 更多