2011-01-19 162 views

答えて

27

NVARCHARがこれに適したタイプです。すべてを2バイトのUnicodeに格納します。あなたは絶対にその場合にはN'....'接頭辞を使用する必要があります - SQL Server Management StudioでNVARCHARフィールドでの作業時

あなたがいるに注意を払う必要がありますどのような!

あなたがこれを使用する場合は、次の(!非Unicode)

INSERT INTO dbo.YourTable(NVarcharColumn) 
    VALUES('Some Chinese text here') 

その後、SSMSは、あなたがVARCHARに指定するので、あなたは任意のUnicodeでエンコードされた文字を失うだろう文字列リテラルを変換し、一時的にます。しかし

、あなたが使用している場合:

INSERT INTO dbo.YourTable(NVarcharColumn) 
    VALUES(N'Some Chinese text here') 

(文字列リテラルの前N接頭辞に注意してください!)その後、SSMSはUnicodeとして常にすべてを処理し、あなたの中国語や韓国語(または他の)します特殊文字は保存する必要があります。

+0

これはありがとう、それは動作していないようです..私はどこかの設定が不足している気がしますか? – Alessandro

+0

@Alessandro:SSMSやクライアントアプリケーションのデータを扱おうとしていますか?また、どの照合順序をサーバーとデータベースで使用しますか? –

+0

ColdFusionベースのWebアプリケーションを介して..私はSSMSでそのスクリプトを直接試したが、 サーバの集計:SQL_Latin1_General_CP1_CI_AS DB集計:SQL_Latin1_General_CP1_CI_AS – Alessandro

関連する問題