问题 Windows上的Git GUI无法将SQL(.sql)文件识别为文本


抱歉,如果这已经回答了,但我还是找不到答案:(

我在Windows 7上使用SQL Server Management Studio 2008。

我右键单击任何sproc,函数或对象,然后选择“修改”。
我单击“保存”并将文件保存到本地硬盘驱动器上的git存储库的文件夹中。
我按建议的类型=“Microsoft SQL Server查询文件(.sql)保存文件
所以现在我有一个文件,例如“MySproc.sql”在SQL Management studio中打开很好,但是当我使用Git GUI并执行“扫描”查找修改后的文件时,它将我的新“MySProc.sql”显示为“*二进制文件(不显示内容)”。而不是简单的文字。

我试过在NOtepad中打开文件并重新保存它但是没有修复它。

任何帮助将不胜感激。


12385
2018-05-05 16:47


起源

可能重复(虽然没有答复): stackoverflow.com/questions/3915072/... - Chris Shaffer


答案:


只是一个猜测,但我会说你的.sql文件是UTF-16;如果您要将其保存为UTF-8或ASCII,我想git gui可以正常使用它。


12
2018-05-05 16:55



当我在记事本中打开任何文件并“另存为”时,它将文件编码显示为“ANSI”...请原谅我缺乏知识,但我怎样才能看到文件的编码? - Andre
最好的选择是使用体面的文本编辑器。 Notepad ++和PSPAD是两个免费选项,可以告诉您需要知道的内容。 - Tao
@Tao,@ Andre:SQL Management Studio支持使用不同的编码进行保存。执行另存为时,单击“保存”按钮上的向下箭头,然后选择“使用编码保存...”。 - Jon Seigel
@Andre:请记住,如果存储库中的原始文件是UTF-16,那么新版本为UTF-8或ASCII将不会使比较工作。如果这是问题,最好的办法是使用不同的工具进行比较,一个支持Unicode的工具。 - Chris Shaffer
在SQL Management Studio 2012中,选项是文件 - >高级保存设置。 - Danny Frencham


这很烦人,但我所做的是在上传更改之前将扩展名更改为.txt。我认为.sql扩展是git的绊倒。

附:如果您使用的是SQL Server Management Studio,这是一个很有用的提示。右键单击您的数据库。从弹出菜单中选择“任务”,然后选择“生成脚本”。这会将您带入一个向导,您可以在其中为数据库中的所有内容生成脚本。您可以将所有脚本输出到单个文件夹中。然后使用像这样的程序 奥斯卡的重命名者 在提交更改之前将扩展名更改为.txt。这是向数据库添加源代码控制(尽管是手动)的好方法。


1
2018-05-19 12:18





您还可以使用powershell将文件转换为ASCII。

Get-Content Filename.sql | Out-File NewFileName.sql -Encoding ascii

0
2017-11-07 22:50