【问题标题】:How to script tables in SSMS that contain non-unicode text如何在 SSMS 中编写包含非 unicode 文本的表
【发布时间】:2012-03-23 10:49:24
【问题描述】:

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

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

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

【问题讨论】:

  • 在脚本向导的输出选项中,您是保存为 Unicode 文本还是 ANSI 文本?
  • 这就是答案。它默认为 Unicode,但我需要 ANSI。

标签: sql-server scripting ssms non-unicode


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-22
    • 2012-02-13
    • 2021-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-20
    相关资源
    最近更新 更多