SQL Server 2008 Express Edition を使用しており、その照合設定はデフォルトに設定されています。データベースに á 、â 、ã 、å 、ā 、ă 、ą 、ǻ などの特殊文字を保存したいのですが、次のような通常の文字に変換されます。 「あ」。SQL Server がそうしないようにするにはどうすればよいですか?
11724 次
2 に答える
8
列が varchar(...) ではなく、nvarchar(...) 型を使用していることを確認してください。前者は Unicode、後者は ASCII です。
また、データベースの既定の照合順序が [アクセントを区別する] に設定されていること、および列がそのように格納されていることを確認してください。インスタンスの既定の照合順序を確認することもできます。これは、システム データベース (特に tempdb) の既定の照合順序に影響するためです。
于 2009-10-27T05:56:50.603 に答える
4
Rahul さん、これは SQL 2005 と 2008 で完全に動作する非常に単純なクエリです。
クエリ
DECLARE @t1 TABLE (
Col1 nvarchar(30)
)
INSERT INTO @t1 VALUES (N'á ,â ,ã ,å ,ā ,ă ,ą ,ǻ')
SELECT * FROM @t1
結果
Col1
------------------------------
á ,â ,ã ,å ,ā ,ă ,ą ,ǻ
ここには特別なことは何もありません。デフォルトからの照合の変更はなく、単純な NVARCHAR 列のみです。
あなたは「データベースで直接クエリを実行しているだけだ」と言いました。このクエリを試して、同じ結果が得られるかどうかを確認できますか?
于 2009-10-27T18:12:35.857 に答える