6

さまざまな言語でデータを保存できるように、SQL Server 2005のDBMSをどのように設定しますか?

私の正確な問題はこれです:SQL Server Management Studioで、ドイツ語のウムラウトを含む挿入ステートメントを書いています。テキストは正常に保存されますが、同じ値を読み取ると、Umlautのないテキストになります。

英語、ドイツ語、ギリシャ語、ロシア語の4つの言語をサポートする必要があることを考慮してください(ロシア語のテキストで何に直面するかは考えたくありません)。

これで、DBMSはギリシャ語の照合でセットアップされました(ギリシャ語をサポートするため)。

これは問題を引き起こしますか?

ヒントはありますか?

4

2 に答える 2

7

文字列には nvarchar データ型を使用する必要があり ( http://msdn.microsoft.com/en-us/library/ms186939.aspx )、すべての Unicode 文字列の前に N を付ける必要があります ( http://support.microsoft. com/kb/239530 )。

SQL Server で Unicode 文字列定数を扱う場合は、すべての Unicode 文字列の前に大文字の N を付ける必要があります。これについては、SQL Server Books Online のトピック「Unicode データの使用」を参照してください。"N" プレフィックスは、SQL-92 標準の National Language を表し、大文字でなければなりません。Unicode 文字列定数の前に N を付けない場合、SQL Server は文字列を使用する前に現在のデータベースの非 Unicode コード ページに変換します。

于 2010-01-07T00:02:41.353 に答える
2

(varchar ではなく) nvarchar型を使用していますか? 同じ列に複数の言語がある場合に推奨されます。これにより、適切に保存および取得できます。

もちろん、列が複数の言語で文字列を格納するために使用されている場合でも、SQLサーバーは特定の列で1つの照合タイプしか維持できないため、これは考慮すべきことです...

于 2010-01-06T23:54:07.700 に答える