2015-10-07 17 views
8

Tôi có một ký tự BOM trong tệp html của mình. Tôi muốn loại bỏ nó. Tôi đã tìm kiếm rất nhiều và sử dụng rất nhiều tập lệnh và v.v. Nhưng không ai làm việc. Tôi cũng đã tải xuống notepad ++ nhưng không mã hóa "UTF8 không có BOM" trong trình đơn mã hóa của nó. Làm thế nào tôi có thể xóa ký tự BOM đó? cảm ơn.Xóa ký tự BOM trong một tệp

The screenshot of my notepad++

Trả lời

12

Nếu bạn nhìn trong cùng một menu. Nhấp vào "Chuyển đổi sang UTF-8".

3

Bạn có thể giải quyết vấn đề bằng cách sử dụng vim, nơi bạn có thể dễ dàng với MinGW-w64 (Nếu bạn đã cài đặt Git đi kèm) hoặc Cygwin.

Vì vậy, quan trọng là sử dụng:

  • Tùy chọn -s, mà sẽ thực hiện một kịch bản vim với các lệnh vim.
  • Tùy chọn -b, sẽ mở tệp của bạn ở chế độ nhị phân, nơi bạn sẽ thấy các byte BOM khó xử này
  • Tùy chọn -n, điều rất quan trọng! Tùy chọn này từ chối việc sử dụng các tập tin hoán đổi, vì vậy tất cả các công việc của bạn chạy trong bộ nhớ. Nó cung cấp cho bạn sự đảm bảo bởi vì nếu tệp lớn, các tệp hoán đổi có thể làm sai lệch quá trình.

Điều đó nói rằng, hãy chuyển sang mã!

  1. Trước tiên, bạn tạo một tập tin đơn giản, đây có tên là 'kịch bản', mà sẽ giữ vim lệnh

    echo 'gg"+gPggdtCZZ' > script 
    

    ... chuỗi kỳ lạ này nói với vim "Tới đầu tập tin, sao chép từ đầu tiên và dán nó đằng sau con trỏ, vì vậy xóa tất cả mọi thứ cho đến khi nhân vật 'C', sau đó, lưu tập tin "

    Note: Nếu file của bạn bắt đầu với nhân vật khác hơn là 'C', bạn có để xác định nó. Nếu bạn có 'ký tự đầu tiên' khác nhau, bạn có thể theo logic và tạo tập lệnh bash sẽ đọc ký tự đầu tiên và thay thế nó cho bạn trong đoạn mã ở trên.

  2. Chạy lệnh vim:

    vim -n -b <the_file> -s script 
    
+0

Tôi không biết tại sao, nhưng hoạt động này đối với tôi. Cảm ơn! –

+1

Nếu bạn muốn sử dụng Vim, lệnh này đơn giản hơn nhiều: 'vim " + set nobomb "" + wq "'. Bằng cách đó, bạn không cần phải biết ký tự hiển thị đầu tiên của tệp. –

+0

Bạn có thể xây dựng trên các tệp hoán đổi gây rắc rối cho tập lệnh của mình không? Nó có nên trong suốt không? –

Các vấn đề liên quan