1

照合 Danish_Norwegian_CS_AS と多数の varchar 列を含むデータベースがあります。このデータをすべて Unicode に変換したいのですが、このデータを変換する方法がまだ見つかりません。私の理解が正しければ、使用されるエンコーディングは UCS-2 リトル エンディアンです。

たとえば、Encoding.Default.GetString(Encoding.UTF8.GetBytes("PÃ¥l-Trygve")) を使用して C# で「Pål-Trygve」に簡単に変換できる「PÃ¥l-Trygve」を含む列があります。 ;

Microsoft SQL Server クライアントでこの変換を行う方法はありますか?

4

3 に答える 3

0

CONVERT ステートメントを使用していただけますか。それとも、ここでニュアンスが不足していますか?

http://msdn.microsoft.com/en-us/library/ms187928.aspxから

于 2010-05-10T17:29:12.960 に答える
0

サムの回答へのコメントで、「varchar 列のデータは ucs2 リトルエンディアン文字列のバイナリ コードであり、ascii ではありません」と述べました。これは、テキストがある質問で述べたこととは異なります。

したがって、並列テーブルのセット全体 (nvarchar 列を含む) を作成し、C# コードを介してそれらをロードします。次に、ドロップ、名前の変更などを行います。これは、t-sql で簡単に行うことではありません。

于 2010-05-16T13:37:43.777 に答える
0

SQL Server では、お気に入りのステートメントの前に N 文字を入れると、Unicode に変換されます。例えば:

update mytable
set mycol = N'PÃ¥l-Trygve'

また

insert into mytable
values (N'PÃ¥l-Trygve',...)
于 2010-05-11T07:24:28.077 に答える