我有一个奇怪的问题:在我的HTML / PHP代码的某个地方,有一个隐藏的,看不见的角色,我似乎无法摆脱它。通过从Firebug复制并转换它,我将其标识为
或“零宽度不间断空间”。它在我的网站中显示为非空文本节点,并导致严重的布局问题。
问题是,我无法摆脱它。即使在(呃)转向Invisibles时,我也无法在我的文件中看到它。我似乎无法找到它,似乎没有搜索工具。我重写了我的代码,但它似乎在某个框架文件中更深处。
任何好的工具,通过字符串或类似的东西来查找字符? (Mac OS X)
答案 0 :(得分:37)
您没有在编辑器中获取该字符,因为您无法在文本编辑器中找到它。 #FEFF或#FFFE是所谓的byte-order marks。它们是微软的一项发明,用于记录Unicode文件,其中存储了多字节字符。
要摆脱它,请告诉编辑器将文件保存为ANSI / ISO-8859或Unicode 无BOM 。如果您的编辑器不能这样做,您将不得不切换编辑器(遗憾地)或使用某种截断工具,例如,十六进制编辑器,允许您查看文件真正的方式外观。
在google上,似乎TextWrangler有一个“UTF-8,无BOM”模式。否则,如果您对终端感到满意,可以使用Vim:
:set nobomb
并保存文件。的Presto!
字符始终是文本文件中的第一个。支持BOM的编辑不会像我提到的那样向你展示。
干杯,
答案 1 :(得分:10)
如果您使用的是Textmate,则问题出在UTF-8文件中:
每次都适合我。
答案 2 :(得分:5)
答案 3 :(得分:2)
使用notepad plus plus ..有一个显示所有字符的选项
答案 4 :(得分:2)
我不是Mac用户,但我的一般建议是:当其他所有方法都失败时,请使用十六进制编辑器。在这种情况下非常有用。
答案 5 :(得分:1)
vi或vim将显示任何非EOL字符。
答案 6 :(得分:0)
我很确定Textwrangler会这样做。
编辑:VersionTracker link因为Bare Bones网站似乎再次失败。答案 7 :(得分:-1)
你很高兴。