1

重複の可能性:
アクセント付きの文字が BULK INSERT で正しくインポートされない

私のシステムで実行されている .net プログラムは、csv ファイルを提供してくれます。そのファイルのエンコーディングを知りたいです。

csv ファイルには、、、、文字が含まれていますがé、�(UTF8-BOM 付き) として表示されます。これらの文字を元の文字または英語のような文字に戻すことができる可能性はありますか.äåæ

csv ファイルは、同じユーザーの同じマシンで実行されている .net プログラムによって作成されますが、ファイルの作成後、元の文字が表示されません。

関連する質問。

sample data (UTF8-Without BOM) from csv file. 

Pok�mon Black Version
TGC � Nintendo
on H�tel de R�ve  
La Reine Masqu�e et la Tour des Miroirs 
4

2 に答える 2

6
于 2012-12-19T14:47:15.380 に答える
1

私はエサイリヤに同意します。このデータは、SQL に到達する前は 1 バイトだったようです。

SQL が問題だった場合は、回答として投稿されます。

SQL では:

char と nchar は両方とも 1 バイト (ansii) です。

nchar と nvarchar は 2 バイト (Unicode) です。

Unicode を char にロードすると、1 バイトにパックされます。
Unicode を char にロードし、255 を超える uncode を � に変換しました。

Unicode データの使用

テスト方法

SELECT CAST('a' AS char(1))

SELECT CAST('é' AS char(1))
これは拡張 ASCII (<255) として機能することに注意してください。

SELECT CAST(N'Ƶ' AS char(1))

SELECT CAST(N'Ƶ' AS nchar(1))

SELECT CAST(N'Ƹ' AS char(1))

SELECT CAST(N'Ƹ' AS nchar(1))

Ƶ と Ƹ の両方が同じにキャストされていることに注意してください。(わからないので)

于 2012-12-19T15:32:07.357 に答える