Làm cách nào để chỉnh sửa văn bản Unicode trong Notepad ++?


26

Đôi khi tôi chỉnh sửa văn bản tiếng Anh bao gồm các ký tự Unicode. Vì một số lý do, trên PC của tôi, Notepad ++ chuyển đổi các ký tự Unicode thành từ đó làm hỏng văn bản và mất tất cả dữ liệu đó. Tôi đang tìm cách chỉnh sửa văn bản đó trong khi vẫn bảo tồn các ký tự Unicode. Tôi đang sử dụng Consolas làm Phông chữ của mình. Nếu phông chữ không có tất cả các ký tự đó, tại sao tôi phải mất dữ liệu khi sao chép văn bản ra khỏi Notepad ++ (qua bảng tạm của Windows)?


Có thể bạn đang sử dụng một plugin không hỗ trợ Unicode?
Ivo Flipse

Nếu đó là những dấu hỏi trong hộp, thì thực tế đó là glyph của phông chữ bị thiếu và dữ liệu của bạn không bị mất.
Joey

Không có nó không trong hộp, thay vào đó là đồng bằng '?' tính cách. Khẳng định.
Robinicks

1
bạn có thể cần phải thay đổi phông chữ. xem superuser.com/questions/16831/
Mạnh

Câu trả lời:


15

Nếu tệp thực sự được mã hóa bằng Unicode, Notepad ++ sẽ tự động phát hiện nó. Các phông chữ Consolas hoạt động tốt đối với tôi. Bạn có thể thử một trong hai tùy chọn menu sau:

  • Mã hóa -> Mã hóa trong UTF-8
  • Mã hóa -> Chuyển đổi sang UTF-8

Tôi khá chắc chắn rằng người đầu tiên sẽ làm những gì bạn muốn.


Tôi không có menu Format.
Val

1
Đối với hậu thế, bạn cần menu Mã hóa, không phải Định dạng
Ken Bellows

15

Vấn đề được mô tả trong câu hỏi xảy ra khi một tài liệu trống / mới được đặt thành "ANSI" và các tự Unicode được dán vào nó.

Không có bất kỳ tự động phát hiện nào khi được sử dụng với một tài liệu trống / mới, ít nhất là không có trong phiên bản Notepad ++ mà tôi đã thử nghiệm trên (v5.4.5). "ANSI" là mặc định trong Notepad ++ cho một tài liệu mới, trừ khi được đặt trong menu Cài đặtTùy chọn → tab Tài liệu mới / Mở thư mục lưu .

Dung dịch

Giải pháp là đặt mã hóa thành UTF-8 trước khi dán, định dạng menu → Mã hóa trong UTF-8 :

Lệnh menu "Menu Format / Encode in UTF-8" sắp được thực thi

Thí dụ

Tôi đã sao chép một số văn bản vào một tài liệu Notepad ++ mới, tiếng Nga (русуй язык, russkiy yazyk) , từ Firefox hiển thị trang Wikipedia tiếng Nga .

Nếu mã hóa không được thay đổi từ "ANSI" thì đây là kết quả:

Kết quả của việc dán chuỗi Unicode "Tiếng Nga (русуй язык, russkiy yazyk" vào một tài liệu Notepad ++ mới mà không thay đổi mã hóa từ "ANSI" mặc định.

Nếu mã hóa được thay đổi, đây là kết quả:

Kết quả của việc dán chuỗi Unicode "Tiếng Nga (русуй язык, russkiy yazyk" vào một tài liệu Notepad ++ mới sau khi thay đổi mã hóa từ "ANSI" mặc định thành "UTF-8".

Như có thể thấy trong hình bên dưới (phần Cyrillic được tô sáng), Notepad ++ thực sự chuyển đổi các ký tự Unicode thành ASCII 63 (hexadecimal 3F), các dấu hỏi. Đó là lý do tại sao các ký tự Unicode bị mất (trong chế độ "ANSI" ) khi sao chép văn bản ra khỏi bảng tạm (đây không phải là vấn đề về phông chữ - thông tin bị mất).

Ảnh chụp màn hình của chế độ xem hex của tài liệu nói

Đã thử nghiệm trên: Notepad ++ v5.4.5 (UNICODE).


5

Có tin tốt và tin xấu.

Tin tốt: Notepad ++ hỗ trợ Unicode (ít nhất là từ những gì tôi có thể thu thập).

Tin xấu: Rõ ràng hỗ trợ Unicode chỉ có trên Windows XP.

Tôi thực sự không có máy Windows trước mặt. Từ những gì tôi nhớ, có một menu Encoding dưới menu Format ở đâu đó. Mã hóa cho Unicode thực sự phổ biến nhất là UTF-8.

Dưới đây là hình ảnh 'đẹp' về hỗ trợ Unicode trong Notepad ++,

nhập mô tả hình ảnh ở đây


3

Unicode hoạt động hoàn hảo trên Windows 7. Vấn đề duy nhất xuất hiện là bạn phải nhập lại các ký tự đã được thay đổi. Nó đã xảy ra với tôi. Tôi đang viết bằng các chữ cái Scandinavia nên ä -> E4, ö -> F6. Đó là một nỗi đau ở mông để thay thế tất cả, nhưng nó đáng giá.

Nếu bạn mã hóa một trang từ ANSI -> UTF-8 thì sẽ có một số vấn đề về ký tự.

Tôi sẽ đề nghị bạn trước tiên tạo một trang mới trong UTF-8 và sau đó sao chép / dán thông tin của bạn lên. Sẽ không / không nên có bất kỳ rắc rối nào sau đó.


1

Điều này làm việc cho tôi:

Tôi đã thay đổi phông chữ thành Courier New trong cấu hình kiểu trên PC của mình (Windows 7 với bộ ký tự tiếng Anh / Hoa Kỳ và tiếng Rumani cho bộ không Unicode). Nó làm việc với phông chữ Courier New & Tahoma + mã hóa UTF-8.


0

Trên menu trên cùng chọn Encodingsau đó chọn Encode in UTF-8hoặc Encode in UTF-8 Without BOMsau đó bạn có thể chỉnh sửa văn bản ở dạng mã Unicode.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.