Очистить файлы исходного кода от невидимых символов

У меня странная проблема: где-то в моем коде HTML / PHP есть скрытый, невидимый символ, от которого я, похоже, не могу избавиться. Скопировав его из Firebug и преобразовав его, я идентифицировал его как или «пространство без разрывов с нулевой шириной». Он отображается как непустой текстовый узел на моем сайте и вызывает серьезную проблему с макетом.

Проблема в том, что я не могу избавиться от этого. Я не могу видеть это в своих файлах, даже когда включаю Invisibles (d 'uh). Кажется, я не могу его найти, ни один инструмент поиска, похоже, не подхватил его. Я переписал свой код там, где он мог бы быть, но он кажется где-то глубже в одном из файлов фреймворка.

Какие-нибудь хорошие инструменты для поиска символов по кодам в файлах или что-то в этом роде? (Mac OS X)

Ответы на вопрос(8)

  1. Paste the content in Notepad++
  2. In Menu Encoding -> Convert To ANSI

И тебе хорошо идти.

Если вы используете Textmate и проблема в файле UTF-8:

  1. Open the file
  2. File > Re-open with encoding > ISO-8859-1 (Latin1)
  3. You should be able to see and remove the first character in file
  4. File > Save
  5. File > Re-open with encoding > UTF8
  6. File > Save

Это работает для меня каждый раз.

Этознак порядка байтов, В Mac OS X: откройте окно терминала, перейдите к источникам и введите:

grep -rn 
grep -rn $'\xFEFF' *
apos;\xFEFF' *

Он покажет вам номера строк и имена файлов, содержащие спецификацию.

Решение Вопроса

Вы не получаете символ в редакторе, потому что вы не можете найти его в текстовых редакторах. #FEFF или #FFFE - это так называемыеметки порядка байтов, Это изобретение Microsoft, позволяющее определить в файле Unicode порядок хранения многобайтовых символов.

Чтобы избавиться от этого, попросите вашего редактора сохранить файл как ANSI / ISO-8859 или как Unicode.without BOM, Если ваш редактор не может этого сделать, вам придется либо переключать редакторы (к сожалению), либо использовать какой-либо инструмент усечения, например, шестнадцатеричный редактор, который позволяет вам увидеть, как файлreally выглядит.

Похоже, что в Google TextWrangler имеет «UTF-8, нет спецификации». Режим. В противном случае, если вам удобно работать с терминалом, вы можете использовать Vim:

:set nobomb

и сохраните файл. Presto!

Персонажи всегдаvery first в текстовом файле. Как я уже упоминал, редакторы с поддержкой спецификации не будут показывать ее вам вообще.

Ура,

Я не пользователь Mac, но мой общий совет: когда все остальное терпит неудачу, используйтеhex editor, Очень полезно в таких случаях.

Увидеть& quot; Сравнение шестнадцатеричных редакторов & quot; в википедии.

Я уверенTextWrangler сделаю это.

РЕДАКТИРОВАТЬ:Ссылка на VersionTracker так как сайт Bare Bones снова не работает.

В vi или vim будут отображаться любые символы, отличные от EOL.

использовать блокнот плюс плюс .. есть возможность показать все символы

Ваш ответ на вопрос