2013-06-24 23 views
14

我有一些看不見的字符( )出現在JavaScript文檔的末尾,導致FF或Chrome中出現「非法字符」錯誤。我看到了有關此錯誤的不同主題,但對我來說沒有任何作用,並且在文檔中看不到任何錯誤(顯示不可見字符,用十六進制編輯器打開它)。這只是讓我發瘋。 我用一個nginx web服務器使用Vagrant。該文檔在服務器中也看起來很清楚(vi +:set list)。帶有流浪導致隱形字符追加的共享文件夾

另外,當我從我的Git存儲庫取回一份清晰的文檔時,一切正常(正常)。但是每次我想編輯它時(比如在文檔頂部創建一個新變量),我都會再次遇到這個錯誤。

如果有人可以幫助我,謝謝。

+0

檢查你將編碼設置爲UTF-8在HTML和您的文件兩者。 – elclanrs

+0

編碼已經設置爲utf-8 – Max

回答

6

看來你正在使用Vagrant ..請看看你的_Vagrant文​​件,並檢查文件寫入VM文件系統的方式。

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,但仍然沒有好處,有沒有其他方法? –

18

如果你使用VirtualBox的供應商,然後VirtualBox的共享文件夾的默認同步文件夾類型。這些已同步的文件夾使用VirtualBox共享文件夾系統將文件更改從客人同步到主機,反之亦然。

有一個VirtualBox bug與sendfile相關,這可能會導致損壞或不更新的文件。您應該在您運行的任何Web服務器上停用sendfile。

在Nginx的:

sendfile off; 

在Apache中:

EnableSendfile Off 

見流浪漢文檔:http://docs.vagrantup.com/v2/synced-folders/virtualbox.html

+2

這個答案更關係到問題的真實起源。從接受的答案解決方案只是逃到另一個共享機制,而這個機制並不總是可以接受的(就像我的情況一樣)。謝謝! – oxfn

相關問題