0

所以我们使用 osql 在存储过程中运行作为我们构建过程的一部分。我们使用一个带有 sp 文件夹的项目,该文件夹作为构建包的一部分与应用程序一起发布。

我使用 Visual Studio 创建了这个项目结构并创建了要在 procs 中运行的 sql 脚本。

Visual Studio 以 UTF8 格式保存文件(默认情况下)。osql 在脚本中运行时抱怨每个脚本在第 1 行都有语法错误,即

> Incorrect syntax near '´'.     1> 2> Msg 102, Level 15, State 1,
> Server GBEPIAP-SQL01, Line 1

比较莫名其妙。

反正; 要解决此问题,可以使用 Unicode 代码页 1200(文件 -> 高级保存选项)保存 sql 脚本

et voila - 问题消失了

现在这给我留下了一个更大的问题;我有超过 200 个 proc 脚本需要打开、更改编码并使用新编码保存。

任何powershell大师都可以为我编写一个快速脚本来将文件夹中每个文件的编码更改为Unicode代码页1200吗?会帮我一个忙,同时也节省时间。

4

1 回答 1

1

最后,我使用了此处记录的方法

将 Visual Studio 项目中的所有文件保存为 UTF-8

但不是UTF8;我指定了 Unicode。

foreach (var f in new DirectoryInfo(@"...").GetFiles("*.sql", SearchOption.AllDirectories)) {
  string s = File.ReadAllText(f.FullName);
  File.WriteAllText (f.FullName, s, Encoding.Unicode);
}
于 2013-04-29T11:55:01.653 回答