Подтвердить что ты не робот

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

У меня есть странная проблема: где-то в моем коде HTML/PHP есть скрытый невидимый персонаж, от которого я не могу избавиться. Скопировав его из Firebug и преобразовывая его, я определил его как  или "Zero width no-break space". Он отображается как не пустой текст node на моем веб-сайте и вызывает серьезную проблему с макетом.

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

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

4b9b3361

Ответ 1

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

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

В googleing, кажется, что TextWrangler имеет режим "UTF-8, no BOM". В противном случае, если вам удобно с терминалом, вы можете использовать Vim:

:set nobomb

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

Символы всегда очень сначала в текстовом файле. Редакторы с поддержкой спецификации не будут, как я уже упоминал, показать это вам вообще.

Приветствия,

Ответ 2

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

  • Откройте файл
  • Файл > Повторно открыть с кодировкой > ISO-8859-1 (Latin1)
  • Вы должны иметь возможность видеть и удалять первый символ в файле
  • Файл > Сохранить
  • Файл > Повторно открыть с кодировкой > UTF8
  • Файл > Сохранить

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

Ответ 3

Это символ byte-order. В Mac OS X: откройте окно терминала, перейдите к своим источникам и введите:

grep -rn $'\xFEFF' *

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

Ответ 5

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

Ответ 6

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

Ответ 8

  • Вставить содержимое в Notepad ++
  • В кодировке меню → Преобразование в ANSI

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