在批处理文件中将SQL文件与命令`copy`结合使用会引入错误的语法,因为它确实添加了一个不可见的字符`U + FEFF`
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在批处理文件中将SQL文件与命令`copy`结合使用会引入错误的语法,因为它确实添加了一个不可见的字符`U + FEFF`相关的知识,希望对你有一定的参考价值。
在预构建事件中,执行批处理文件以将多个SQL文件合并为一个。 使用此命令完成:
COPY %@ProjectDir%Migrations*.sql %@ProjectDir%ContinuousDeploymentAllFilesMergedTogether.sql
一切似乎都工作正常但不知何故结果给出了错误的语法错误。
经过两个小时的调查,事实证明这个问题是由一个看不见的角色引起的,即使用记事本++也是如此。
使用在线网站,该角色已被发现,并且U+FEFF
已在下图中显示。
这是两个输入脚本。
PRINT 'Script1'
PRINT 'Script2'
这是copy命令给出的输出。
PRINT 'Script1'
PRINT 'Script2'
附加信息 :
- 批处理文件使用UTF-8编码
- 输入文件使用UTF-8-BOM编码
- 输出文件使用UTF-8-BOM编码。
我不确定是否可以更改命令
copy
的编码输出。 我尝试过但都失败了。
应该采取什么措施来消除这种极其令人沮丧的寄生特征?
答案
事实证明,将输入文件的编码更改为ANSI
确实可以解决问题。
没有更讨厌的角色。
另外,这样做会将结果文件的编码更改为UTF-8
而不是UTF-8-BOM
,我相信这很棒。
以上是关于在批处理文件中将SQL文件与命令`copy`结合使用会引入错误的语法,因为它确实添加了一个不可见的字符`U + FEFF`的主要内容,如果未能解决你的问题,请参考以下文章