SQLServer2005と.Net2.0を実行しています。同じ列に複数の言語でデータを保存する必要のあるテーブルがいくつかあります。たとえば、ArticleID(ID)とArticleName(nvarchar 100)を含むArticleテーブル。ArticleNameのデータはさまざまな言語である可能性があります。
ほとんどのデータは英語であるため、私のデータベースはSQL_Latin1_General_CP1_CI_ASのデフォルトの照合を使用しています。
私のアプリケーションの各ユーザーは、自分の好みのカルチャを選択できます。ユーザーインターフェイスでは、記事データがデータグリッドに表示され、ユーザーは記事名で並べ替えることができます。
現在、データベースの照合が原因で、並べ替え順序が正しくありません。ORDER BY...COLLATE句を使用してこれを修正することを考えています。しかし、正しいユーザーカルチャをSQL Server照合にマップするにはどうすればよいですか?このように、文化ごとに指定する必要がありますか?たとえば。カルチャ=zh-CN(Chinese PRC)の場合、照合Chinese_PRC_CI_ASなどを使用します...
照合を取得するためのより良い方法はありますか?私のアプローチは正しいですか?または、これを処理するためのより良い方法はありますか?(実際に.Netでソートを実行することを考えましたが、それはCPU時間の無駄のようです。)読んでくれてありがとう。