2

Unicode データ (キリル文字) が次のタイプのデータベース列に書き込まれましたvarchar

そのデータを正しい形式で復元する機会はありますか?

完全に回復する必要はありません。

助けてくれてありがとう

4

1 に答える 1

5

いいえ。

2 バイト文字をすべて 1 バイト スキームで表すことはできないため、これは損失の多い変換です。デフォルトの照合順序のコード ページに変換できないすべての文字は、?.

?元々表現されていたものや、途中で発生した可能性のあるその他のそれほど深刻でない変換 (たとえば、文字が多少似たホモグリフ文字に変換されたもの) を元に戻すリバース エンジニアリングを行う方法はありません。

DECLARE @T TABLE 
(
V VARCHAR(10)
)
INSERT INTO @T 
VALUES (N'中华人民共和国');

SELECT V,
       CAST(V AS VARBINARY(10))
FROM @T

出力

V          
---------- ----------------------
???????    0x3F3F3F3F3F3F3F

ソース内のすべての異なる文字が同じものとして保存されることがはっきりとわかります。

于 2012-09-28T11:44:18.303 に答える