2017-02-08 17 views
0

私のストアドプロシージャの結果をUtf-8エンコーディングを使用してXMLファイルに書き出しています。 Sql Server Management StudioおよびNotepadに表示されるXmlデータは正常に見えます。しかし、私がUtf-8エンコーディングでファイルを開いたときに、メモ帳++またはVisual Studioコード私はすべてä,öおよびåの文字が認識されないことがわかります。Utf-8エンコーディング結果のファイルを奇妙な文字に作成する

SET @sqlCommand = 
    'bcp "EXEC ' [email protected] + '.dbo.GetXmlDataKund" queryout "' + @filePath + @fileName + ' " -T -c -C65001 -C' 
EXEC master..xp_cmdshell @sqlCommand 

私は何が間違っているのだろうか?

+0

*「認識されなくなる」とはどういうものですか? – deceze

+0

@decezeは* Notepad ++ *の 'xC4'、* VS Code *の' 'のようなものです。 – Disasterkid

答えて

1

SQL Serverのバージョンは、おそらくUTF-8をサポートしていません。 hereを参照してください。

"バージョン13(SQL Server 2016)より前のバージョンではコードページ65001(UTF-8エンコーディング)はサポートされていませんが、13で始まるバージョンではUTF-8エンコーディングを以前のバージョンのSQL Serverにインポートできます。

SQL Server 2014 SP 2をお持ちの場合は、thisアップデートを使用してUTF-8のサポートを追加できます。

代わりにUTF-16を使用するには、-wパラメータを追加する必要があります。

+0

あなたは 'UTF-16'への変更が問題を解決すると思いますか? – Disasterkid

+0

私はそう思っています。あなたのファイルはUTF-8よりも大きくなりますが、問題になるとは思えません。 – HoneyBadger

+0

私はこれについてあなたにお返ししようとします。 – Disasterkid