2012-03-05 33 views
1

我正在使用SQL Server中的一些表來存儲使用8位字符而不是unicode的文本 - varchar而不是nvarchar。一定數量的文本包含ASCII範圍以外的字符,例如,引號,em-dashes和國際字符,例如ñ。大概這是有效的,因爲我們所有的PC和服務器使用相同的代碼頁。如何在包含非Unicode文本的SSMS中腳本表

但是,當我使用SSMS中的任務>生成腳本腳本工具來腳本編寫此類表時,生成的腳本將以這樣一種方式轉換特殊字符,即如果使用腳本重新構建表,則特殊字符爲損壞。例如「cañon」變成「ca±on」。我可以在INSERT語句中看到這個腳本包含的內容,其中來自數據庫的「cañon」在INSERT語句中顯示爲「ca±on」。

在SSMS中,如何編寫一個包含ASCII範圍外的varchar數據的表,以便往返運行?

+0

在腳本嚮導的輸出選項中,您是否保存爲Unicode文本或ANSI文本? – 2012-03-06 01:21:51

+0

這就是答案。它默認爲Unicode,但我需要ANSI。 – howard39 2012-03-06 18:10:02

回答

0

在腳本嚮導的輸出選項中,如果您想要正確地在CHAR和VARCHAR字段中編寫擴展ASCII數據腳本,則需要另存爲ANSI文本。

相關問題