В событии перед сборкой выполняется пакетный файл для объединения нескольких файлов SQL в один.
Это делается с помощью этой команды:
COPY %@ProjectDir%\Migrations\*.sql %@ProjectDir%ContinuousDeployment\AllFilesMergedTogether.sql
Все выглядит нормально, нокаким-то образом результат приводит к неправильной синтаксической ошибке.
После двух часов исследования выясняется, что проблема вызвана невидимым символом, который остается невидимым даже при использовании блокнота ++.
При использовании веб-сайта онлайн персонаж был обнаружен иis U+FEFF
показано на следующем рисунке.
Вот два входных сценария.
PRINT 'Script1'
PRINT 'Script2'
Вот выходные данные, заданные командой копирования.
PRINT 'Script1'
PRINT 'Script2'
Дополнительная информация:
- Пакетный файл кодируется с UTF-8
- Входные файлы кодируются с помощью UTF-8-BOM
- Выходной файл кодируется с помощью UTF-8-BOM.
Я не уверен, что можно изменить вывод кодирования команды copy
.
Я пытался и потерпел неудачу.
Что должно быть на Дону?e, чтобы искоренить этого крайне разочаровывающего паразитического персонажа?