16

我有一些不可见的字符 (�) 出现在 javascript 文档的末尾,导致 FF 或 Chrome 中出现“非法字符”错误。我看到了关于这个错误的不同主题,但对我没有任何作用,而且我在我的文档中看不到任何错误(显示不可见字符,用十六进制编辑器打开它)。这简直让我发疯。我将 Vagrant 与 nginx Web 服务器一起使用。该文档在服务器中也很清晰(vi + :set list)。

另外,当我从我的 Git 存储库中取回一份清晰的文档时,一切正常(正常)。但是每次我想编辑它时(比如在文档顶部创建一个新变量),我又遇到了这个错误。

如果有人可以帮助我,谢谢。

4

2 回答 2

19

如果您使用的是 VirtualBox 提供程序,则 VirtualBox 共享文件夹是默认的同步文件夹类型。这些同步文件夹使用 VirtualBox 共享文件夹系统将文件更改从客户机同步到主机,反之亦然。

有一个与 sendfile 相关的VirtualBox 错误,它可能导致文件损坏或无法更新。您应该在您可能正在运行的任何 Web 服务器中停用 sendfile。

在 Nginx 中:

sendfile off;

在阿帕奇:

EnableSendfile Off

请参阅 vagrant 文档:http ://docs.vagrantup.com/v2/synced-folders/virtualbox.html

于 2015-04-12T10:42:50.130 回答
8

看来您正在使用 Vagrant.. 请查看您的 _Vagrantfile 并检查文件在 VM 文件系统上的写入方式。

cat ~/.vagrant.d/boxes/[YOUR VM NAME]/include/_Vagrantfile

也许您正在config.vm.synced_folder尝试使用 NFS:

config.vm.synced_folder "/home/myuser/shared", ".", :nfs => true 
于 2013-06-25T15:03:36.927 回答