2011-07-18 33 views
2

我有一個返回1列的SQL查詢。我在SQL Server Management Studio 2008R2中運行它。 我使用File \ Save Grid Results並創建一個.TXT文件。Mgmt Studio保存結果爲問題

我的問題是文件的第一條記錄有3個字節插在數據前面。他們三個字節是x'EFBBBF'。這在我在另一個進程中使用該文件時會導致問題。

當我保存爲.TXT或.CSV時,我會得到同樣的結果。

任何想法?

回答

7

找到它。

  1. 結果另存爲...
  2. 選擇一個文件夾
  3. 輸入一個文件名
  4. 保存按鈕現在有一個下拉箭頭向右
  5. 點擊下拉箭頭,請選擇另存爲...編碼...
  6. 選擇ANSI
  7. 點擊OK

的ANSI編碼的文件將不包含UTF-8 BOM。

+0

很棒的地方!我在Notepad ++中打開文件並手動將編碼更改爲ANSI。 –

+0

很好,非常感謝。 – polmath

0

我認爲它被稱爲「bom」(字節順序標記)簽名,它與告訴任何讀取文件它所包含的utf字符有關。我懷疑它可能在你的SMSS設置中。但至少這是一個開始的地方。

+0

通過我能找到的所有SMSS設置。沒有關於保存格式。我需要普通的MS-DOS文本,而不是UTF-8。 – SBCUser666

1

kuru kuru na在正確的軌道上,那些字節是UTF-8 BOM。我還沒有找到任何設置來更改Management Studio用於保存結果的文件編碼。我只是在保存文件後使用Vim刪除BOM。您最喜歡的文本編輯器可能有類似的選項,或者如果您需要刪除標記或在腳本中重新編碼該文件,則可以使用iconv之類的工具。

+0

我會補充一點:SSMS將結果文件保存爲BULK INSERT不理解的編碼(UTF-8 w/BOM),這有點愚蠢。 – Simon