使用Vagrant共享文件夹时出现不可见字符追加问题

16

我有几个不可见字符(�)出现在JavaScript文档的末尾,导致FF或Chrome中出现“非法字符”错误。我看到了关于此错误的不同主题,但没有任何对我有效的方法,并且我无法在我的文档中找到任何错误(显示不可见字符,在十六进制编辑器中打开它)。这让我疯狂。

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

如果有人能够帮助我,谢谢。


请确保在HTML文件和您的文件中都将编码设置为UTF-8。 - elclanrs
编码已经设置为 utf-8。 - Max
2个回答

19

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

与sendfile相关的VirtualBox错误可能会导致文件损坏或未更新。您应该在任何运行的Web服务器中禁用sendfile。

在Nginx中:

sendfile off;

在 Apache 中:

EnableSendfile Off

查看 Vagrant 文档:http://docs.vagrantup.com/v2/synced-folders/virtualbox.html


2
这个答案更关注问题的真正根源。被接受的答案提供的解决方案只是逃避到另一个不总是可访问的共享机制(就像在我的情况下一样)。谢谢! - oxfn

8

看起来你正在使用Vagrant.. 请查看你的_Vagrantfile并检查在虚拟机文件系统上写入文件的方式。

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

也许你正在使用 config.vm.synced_folder,尝试使用NFS:
config.vm.synced_folder "/home/myuser/shared", ".", :nfs => true 

1
非常感谢Guillaume。问题出在共享文件夹上。自从我启用了nfs,就不再有任何看不见的字符了。 - Max
1
我已经尝试添加nfs,但仍然不行,还有其他方法吗? - Hoang Lam

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接