Notepad++ Cara menyimpan CRLF saat menyimpan

Saya punya file PHP yang perlu saya ubah teks sederhananya. Saya menggunakan FTP untuk menyalin dari server linux ke mesin Win7 saya. Saya membukanya dengan notepad++, mengaktifkan -lihat-tampilkan simbol-lihat semua karakter- dan saya dapat melihat CRLF dan CR sebelum dan sesudah setiap baris. Namun jika saya menyimpan file tersebut dan membuka kembali file tersebut di Notepad++, semua CRLF-nya sudah terganti dengan CR.

Bagaimana saya bisa membiarkan CRLF ini seperti semula saat disimpan?

Saya menggunakan Notepad++ 5.9.6.2

Pengkodean diatur ke ANSI. Mungkinkah file tersebut benar-benar dikodekan dalam format lain dan ini menjadi alasan mengapa informasinya dihilangkan?


person DVDmmike    schedule 22.01.2014    source sumber
comment
Apa pengkodean untuk file PHP?   -  person Pankaj Jaju    schedule 22.01.2014


Jawaban (1)


Notepad++ biasanya mendeteksi format EOL saat Anda membuka file dan akan mempertahankan format tersebut bahkan saat Anda menyimpan file. Saat Anda pertama kali membuka salah satu file tersebut, buka Edit>EOL Conversion dan lihat opsi mana yang berwarna abu-abu. Itu akan menjadi format akhir baris yang digunakan dalam file, dan jika Anda ingin menggunakan format akhir yang berbeda dari daftar maka Anda dapat memilihnya di sana. Ada kemungkinan bahwa file Anda memiliki akhiran baris campuran, dalam hal ini NPP mungkin menormalkan akhiran baris menjadi apa pun yang dianggap tepat untuk file tersebut saat Anda menyimpannya.

Selain itu, CR adalah format Mac lama, yang berarti ada sesuatu yang mengganggu file Anda, Anda tidak sengaja mengatur formatnya sendiri, atau Anda menyalahgunakan terminologinya. CR=pengembalian kereta=\r, LF=umpan jalur=\n; Windows menggunakan CRLF (\r\n), *nix dan OSX hanya menggunakan LF (\n), dan seperti yang dinyatakan MacOS biasanya hanya menggunakan CR (\r).

person JAB    schedule 22.01.2014
comment
Selain itu, server dan klien FTP dapat dikonfigurasi untuk mengubah feed baris saat itu juga. - person Álvaro González; 22.01.2014
comment
Saya menggunakan FileZilla v3.7.3 untuk FTP. Apakah ada pengaturan di filezilla untuk menjaga penghentian baris sumber? - person DVDmmike; 22.01.2014
comment
@ÁlvaroG.Vicario Meskipun benar (dan fitur yang berguna di GIT, dan mungkin juga server/klien repositori kode sumber lainnya), menurut saya hal itu tidak akan terjadi setelah file telah diunduh dari server FTP, karena Notepad++ adalah sebuah program Windows dan karena itu saya berasumsi pembukaan dan penyimpanan dilakukan pada mesin Win7 (bukan berarti seseorang tidak dapat menggunakannya di Linux melalui WINE atau yang serupa, tetapi sudah ada banyak editor teks *nix yang berfitur jadi ada tidak ada alasan untuk menggunakan NPP pada mesin seperti itu). - person JAB; 22.01.2014
comment
@ user3223999 - Untuk tes cepat, buka Transfer/Jenis transfer dan pilih Biner. Ada pengaturan yang lebih umum di preferensi yang menetapkan nilai default. - person Álvaro González; 22.01.2014
comment
Pemrogram yang menulis kode tersebut tidak tersedia saat ini. Jadi saya tidak bisa mengatakan mengapa itu diberi kode sehingga ada CRLF dan CR. Ini adalah kode ajax PHP. Saya akan menunjukkan cuplikan layar dari sebagian kode jika saya bisa. Tetapi ketika saya mengeditnya di Notepad++, ia mengira itu adalah EOL Mac (seperti yang diduga) tetapi saya tahu bahwa programmer ini tidak bekerja di Mac. Tambahkan akhir setiap baris kode, ada ;CR maka baris berikutnya selalu dimulai dan hanya memiliki CRLF dan kemudian baris berikutnya hanya CR - person DVDmmike; 22.01.2014
comment
Jika saya melakukan transfer biner dari server ke mesin win 7 saya, buka di ++, lalu EOL mengatakan itu file windows dan itu terlihat normal bagi saya. Setiap baris hanya memiliki CRLF di akhir jika dilihat dalam ++ - person DVDmmike; 22.01.2014
comment
@ user3223999 Artinya FileZilla mengonversi CRLF ke CRCRLFCR saat mentransfer sebagai teks karena alasan tertentu, yang tidak cocok dengan format EOL apa pun yang saya tahu (terutama jika titik koma juga ditambahkan). Mungkin FileZilla tidak menganalisis baris baru dengan benar dan berasumsi bahwa jika file teks berasal dari mesin Linux, maka file tersebut akan memiliki akhiran baris LF dan dengan demikian menambahkan CR ke akhiran baris mana pun yang ditemukan saat mentransfer ke mesin Windows, meskipun akhiran baris tersebut adalah a CR atau LF dengan CR sebelumnya? - person JAB; 22.01.2014
comment
Sekarang kalau dipikir-pikir, sepertinya saya ingat pernah mengalami masalah serupa dengan apa yang baru saja saya jelaskan di masa lalu, tapi saya tidak ingat program apa yang digunakan... - person JAB; 22.01.2014
comment
Filezilla diatur untuk mentransfer otomatis. Saya mentransfer biner, mengedit teks di notepad++, mentransfer kembali dalam biner dan menguji kodenya dan tampaknya berfungsi dengan baik. Ketika saya melakukan proses ini sebelumnya, kodenya rusak. Jadi transfer file dari Filezilla tampaknya menyebabkan masalah. - person DVDmmike; 22.01.2014
comment
@ user3223999 Dan inilah alasannya. wiki.filezilla-project.org/Data_Type#Note Jadi, Anda juga harus melakukannya tetap menggunakan mode biner, atau Anda perlu memberi tahu orang yang bekerja dengan Anda untuk berhenti menggunakan CR+LF di server Linux/tidak mentransfer file ke server dalam mode biner. - person JAB; 22.01.2014