2

私は現在2年間うまく機能するWPF + WCFアプリケーションを持っていますが、今では1つのニーズがあります.ヨーロッパのアルファベット(キリル文字など)ではないデータをデータベースに入力したいのです。

問題は、照合としてのデータベースが Latin1_General_CI_AS_WS に設定されていることです。データをそこに保存すると (例: вмешательство)、それらを取得すると、"??????" が表示されます。代わりに (SQL Server Management studio に移動する場合)。

アプリケーションの残りの部分は、他の種類のアルファベットでの作業を既に知っています(読み方ではなく、私の直接の問題ではありません)。

では、既存のデータベースで照合順序をユニコードに設定するにはどうすればよいでしょうか? 照合フィールドは、SQL Server 管理スタジオではグレーで表示されます。

データベースとのすべての通信にEntityFrameworkを使用していますが、「????」も取得しました。フィールドを取得した場合。

4

1 に答える 1

13

あなたの問題は照合ではなく、データ型です。

コメントに記載されているように、 と を使用varchar(x)していtextます。これらの型は Unicode データを格納しません。nvarchar(x)代わりにandを使用する必要がありますntext。(SQL 2005 以降を使用している場合は、nvarchar(MAX)代わりに使用する必要がありますntext)

于 2012-07-03T14:15:56.170 に答える