3

Предыстория: я столкнулся с действительно странной проблемой, когда часть php-страницы просто перестала анализироваться, но только когда она была загружена на сервер. Работает хорошо локально. Часть, где она была обрезана, была после закомментированной строки кода. Удален комментарий, который он анализировал до следующего комментария.

Оказывается, проблема заключалась в окончаниях строк. Они были CR только без LF, и сервер, являющийся * nix, не распознает только CR как новую строку, поэтому он интерпретировал комментарий как расширение до всей остальной части файла.

Я попытался создать новый файл (после включения "показать все символы") внутри Notepad++ и нажал Enter. Это показало CRLF.

Затем я создал новый текстовый файл в проводнике Windows (Win7 x64), а затем открыл его в Notepad++. Я нажал Enter, и он только вставил CR, а не LF.

Теперь актуальный вопрос: почему? Насколько я знаю, Windows должна основываться на CRLF, а не только на CR. Также есть ли способ, чтобы Notepad++ всегда использовал CRLF или, по крайней мере, предполагал, что CRLF с 0-байтовым файлом?

3 ответа3

5

Я не знаю, почему часть вашего файла в формате Windows, а часть в формате Mac, но это должно быть так же просто, как выбрать «Правка» -> «Преобразование EOL» -> «Формат Windows», и весь файл следует преобразовать в CRLF. , Notepad++ использует формат, используемый в открываемом файле. AFAIK, нет способа заставить его. Одним из вариантов может быть отображение символов окончания строки («Просмотр» - «Показать символ» -> «Показать конец строки»), чтобы вы знали, с чем имеете дело, когда открываете файл.

2

При открытии файла нулевой длины он использует конец строки последнего открытого файла. Вот почему я получал разные результаты.

0

Вы можете установить формат EOL по умолчанию для новых файлов на вкладке настроек «Новый документ / Каталог по умолчанию». Я считаю, что по умолчанию используется Windows, но если он установлен в формате Mac, возможно, именно поэтому он использовал CR для 0-байтового файла.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .