1

我正在处理 SQL Server 中的一些表,这些表使用 8 位字符而不是 unicode 存储文本——varchar 而不是 nvarchar。一定数量的文本包含值超出 ASCII 范围的字符,例如大引号、短划线和 ñ 等国际字符。大概这是可行的,因为我们所有的 PC 和服务器都使用相同的代码页。

但是,当我在 SSMS 中使用“任务”>“生成脚本”脚本工具编写此类表时,生成的脚本会以这样一种方式转换特殊字符,即如果我使用脚本重建表,则特殊字符会损坏。例如“cañon”变成“ca±on”。我可以在脚本包含的 INSERT 语句中看到这一点,其中数据库中的“cañon”在 INSERT 语句中显示为“ca±on”。

在 SSMS 中,如何编写包含 ASCII 范围之外的 varchar 数据的表,以便往返可以工作?

4

1 回答 1

0

在脚本向导的输出选项中,如果您想正确地为 CHAR 和 VARCHAR 字段中的扩展 ASCII 数据编写脚本,则需要另存为 ANSI 文本。

于 2012-03-06T18:13:18.417 回答