sql-server – SQLCMD命令无法插入重音符

前端之家收集整理的这篇文章主要介绍了sql-server – SQLCMD命令无法插入重音符前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试运行sqlcmd.exe以从命令行设置新数据库.我在 Windows 7 64位上使用sql SERVER Express 2012.

这是我使用的命令:

sqlCMD -S .\MSsqlSERVER08 -V 17 -E -i %~dp0\aqualogyDB.sql -o %~dp0\databaseCreationLog.log

这是sql文件创建脚本的一部分:

CREATE DATABASE aqualogy 
    COLLATE Modern_Spanish_CI_AS
    WITH TRUSTWORTHY ON,DB_CHAINING ON;
    GO
    use aqualogy
    GO
    CREATE TABLE [dbo].[BaseLayers] (
    [Code] nchar(100) NOT NULL,[Geometry] nvarchar(MAX) NOT NULL,[IsActive] bit NOT NULL DEFAULT ((1)) 
    )

    EXEC sp_updateextendedproperty @name = N'MS_Description',@value = N'Capas de     cartografía base de la aplicaicón. Consideramos en Galia Móvil la cartografía(...)',@level0type = 'SCHEMA',@level0name = N'dbo',@level1type = 'TABLE',@level1name = N'BaseLayers'

好吧,请检查一下这些词语是否有一些重音;这是表格的描述.创建数据库没有任何问题.正如您在附带的屏幕截图中所见,脚本可以理解“整理”.尽管如此,在检查桌子时没有正确显示重音.

我真的很感激任何帮助.非常感谢你.

[编辑]:大家好.使用记事本更改sql文件编码工作正常!非常感谢你的帮助:我从这个问题中学到了一些有趣的东西!

解决方法

从注释开始,问题不在于表或sqlCMD导入特殊字符的方式.通常,有问题的导入与脚本本身的格式有关.

Management Studio本身提供了使用特定编码进行保存的选项,这将在未来解决问题.首次保存文件(或使用另存为)时,应单击“保存”按钮旁边的小箭头,以使用“使用编码保存”选项.

默认情况下,它会将文件保存在西欧(1252).每当我有任何特殊字符时,我都会使用UTF8(尽管可能还有一些其他限制性编码),因为它通常是最快的修复.

我不确定(从图片中)您正在使用SSMS,因此请确保您自己的编辑器可以选择以不同的编码保存文件.如果没有,在智能编辑器中转换文件(就像你已经在记事本中尝试过的那样)通常有效.虽然如果您从宽编码转换为较宽的编码然后再转换为宽编码(例如:从Unicode到ANSI再返回到Unicode),这可能不起作用.

猜你在找的MsSQL相关文章