2010-12-02 24 views
4

SQL Server 2008データベースとテーブルのnvarchar(256)フィールドがあります。SQL Server 2008で文字 '≤'を挿入できません

update ruds_values_short_text 
set value = '≤ asjdklasd' 
where rud_id=12202 and field_code='detection_limit' 

、その後

select * from ruds_values_short_text 
where rud_id=12202 and field_code='detection_limit' 

私はこの結果を得る:

12202 detection_limit = asjdklasd 11 

あなたは文字≤がで形質転換されていることが確認でき狂気の問題は、私はこのクエリを実行するとことです=

これはエンコードに関連する問題です。実際、メモ帳で「≤」を貼り付けようとするとそれはペーストする '='しかし、私はUTF-8にANSIを変換すると '≤'を得る。

だから私はUTF8でクエリを書く必要があると思う..しかし、どのように?ありがとう。

答えて

7

接頭辞Nを使用する必要があります。リテラルは、データベースのデフォルト照合のコードページで文字データとして扱われるのではなく、Unicodeとして扱われます。

update ruds_values_short_text 
set value = N'≤ asjdklasd' 
where rud_id=12202 and field_code='detection_limit' 
+0

これはとても簡単でした...!ありがとう、ありがとう。 –

1

update ruds_values_short_text set value = N'≤ asjdklasd' where rud_id=12202 and field_code='detection_limit'を試してみてください。 Nは、エンコーディングを尊重するように、あなたが各国語を提供していることを示します。

+1

ありがとう、私は本当にそれを私のことを今でも私と呼ぶことはできませんが、私は私の答えを更新しました:) –

関連する問題