代码之家  ›  专栏  ›  技术社区  ›  Mutation Person

SQL Management Studio IDE中使用CR而不是CRLF的奇怪问题

  •  0
  • Mutation Person  · 技术社区  · 14 年前

    在SQL语句末尾放置返回字符方面,我遇到了一个奇怪的特性(可能与sqlmanagementstudio有关)。虽然查询在ID中运行得很好,但是有问题的特性破坏了我们的部署脚本。

    本质上,由于某种原因,某些行被终止,看起来像是回车符(CR),而不是CRLF,如下面两个文件之间的差异所示:

    alt text

    现在我知道如何修改构建脚本来捕捉这一点,但我很好奇这是如何引起的。究竟如何使用CR字符来代替CRLF字符?

    有人吗?

    2 回复  |  直到 9 年前
        1
  •  1
  •   Denis Valeev    14 年前

    ANSI->Unicode转换?UNIX->Windows转换?例如,您可能在另一个编辑器中编辑并保存了它,然后以UNIX格式保存了它。

        2
  •  1
  •   Dima    11 年前

    这正是今天发生在我身上的事情,经过一番调查,我发现了一些细节:

    我在同事的机器上用的编辑器和我平时用的不同。我习惯了EditPlus,这是Notepad++(我想)。经过一点编辑后,我将一些代码复制到MSSMS中,然后再进行一点编辑,然后保存为.sql文件。后来打开文件时,我得到了关于cr/lf问题的警告。在使空白字符可见之后,我注意到大多数行是cr/lf,但只有少数行是lf。

    有趣的是,MSSMS允许我保存这个混合文件而没有任何抱怨。

    因此,教训是当使用类似regex的表达式进行搜索和替换时,在不同的编辑器中,像\n这样的常见操作可能会有不同的实现