既存のデータベースと列の照合を変更します。2つの異なる照合Turkish_CI_AS、SQL_Latin1_General_CP1254_CS_ASを使用し、SQL_Latin1_General_CP1_CI_ASを使用します。
トルコ語の特殊文字が新しい照合でサポートされているかどうか疑問に思いますか?では、ç、ı、ğ、üなどの文字は別の文字に変わりますか?
既存のデータベースと列の照合を変更します。2つの異なる照合Turkish_CI_AS、SQL_Latin1_General_CP1254_CS_ASを使用し、SQL_Latin1_General_CP1_CI_ASを使用します。
トルコ語の特殊文字が新しい照合でサポートされているかどうか疑問に思いますか?では、ç、ı、ğ、üなどの文字は別の文字に変わりますか?
照合は、文字エンコーディングとは別のものです。照合順序を変更すると、データベースでの文字の表現方法ではなく、文字の並べ替え方法の比較規則のみが変更されます。ただし、 Collation and Code Page Architectureの表によると、データの照合は、クライアント ドライバーが非 Unicode文字を特定のコード ページにマップするためのヒントとして使用されます。
したがって、列のタイプが VARCHAR または CHAR の場合、 CP 1254の以前の文字はCP 850の文字として解釈されるため、データは(明らかに) 変更されます。などになります。厳密に言えば、クライアントのデータを任意のコード ページに再解釈できますが、実際にはそれは実行不可能であり、多くの低レベル (つまりドライバー) の知識が必要です。ç (\231)
þ (\231)
ただし、列が NVARCHAR または NCHAR の場合、文字はUCS-2LE でエンコードされ、そのように操作されるため、エンコードは変更されません(のç \u00e7
ままになりますç \u00e7
)。変更される唯一のものは、比較とソートの規則です (これは、有名なトルコ語の照合規則のドット付きおよびドットなしの I/i 比較規則に影響を与えます)。