2012-01-16 45 views
13

tôi đã có một số file UTF-8 được tạo ra trong máy Mac, và khi cố gắng mở chúng bằng cách sử TextPad trong Windows, tôi nhận được cảnh báo sau đây:TextPad và Unicode: hỗ trợ đầy đủ?

CẢNH BÁO: (tên file) chứa các ký tự không tồn tại trong mã số trang 1252 (ANSI Latin 1). Chúng sẽ được chuyển đổi thành mặc định của hệ thống là , nếu bạn bấm OK.

Linux (GNOME gEdit) có thể mở cùng một tệp mà không có khiếu nại. Có nghĩa là gì? Tôi nghĩ rằng TextPad đã hỗ trợ UTF-8 đầy đủ. Tôi có thể mở và chỉnh sửa các tập tin UTF-8 một cách an toàn bằng cách sử dụng nó mà không làm hỏng tệp không?

+2

Đáng buồn thay, bản phát hành TextPad v7 gần đây (tháng 3 năm 2013) không khắc phục được sự cố này. –

+0

Luôn luôn có cùng một vấn đề. TextPad là tuyệt vời, nhưng nó sucks khi nói đến mã hóa ký tự. Những gì tôi làm để phá vỡ vấn đề là đặt tất cả các dòng định nghĩa biểu tượng của các tệp css của tôi vào một tệp css riêng biệt. Sau đó tôi chỉnh sửa tệp này bằng Notepad. – reggie

+2

TextPad 8 có hỗ trợ BMP Unicode (xem http://stackoverflow.com/a/35076216/8946) –

Trả lời

10

Dường như TextPad không thể xử lý các ký tự bên ngoài windows-1252 (CP1252, ở đây mang tên miền sai "ANSI Latin 1"). Tôi đã thử nghiệm nó trên Windows, mở một tệp văn bản thuần túy được tạo trên cùng một hệ thống, như được mã hóa UTF-8, cả có và không có BOM, với cùng một kết quả. Trợ giúp của chương trình dường như không chứa bất kỳ điều gì liên quan đến mã hóa ký tự và các công cụ viết "ký tự quốc tế" chỉ dành cho các ký tự Latinh-1.

Có một số trình chỉnh sửa văn bản cho Windows có thể xử lý UTF-8 (thậm chí Notepad có thể mở tệp UTF-8, nhưng khó có thể được đề xuất chỉnh sửa nghiêm túc). Xem bộ sưu tập thông tin của Alan Wood theo số Unicode editors and word processors for Windows. (Cá nhân, tôi thích Notepad ++ và BabelPad, cả hai đều miễn phí.)

+0

Đặc điểm kỹ thuật cho TextPad cụ thể cho biết: "16-bit Unicode, UTF-8 và 8-bit text files ký tự byte đơn và đôi có thể được chỉnh sửa. " –

+3

Trợ giúp TextPad cho biết có điều gì đó nhầm lẫn về mã hóa, nhưng việc đặt Mã hóa thành UTF-8 trong hộp thoại Mở không giúp được gì. Cũng không giúp thiết lập, trong Cấu hình/Tùy chọn, mã hóa mặc định thành UTF-8: dữ liệu vẫn được làm phẳng thành windows-1252 (tức là các ký tự bên ngoài được ánh xạ tới windows-1252 ký tự hoặc dấu hỏi hoặc thứ gì đó khác). Họ nói "Điều này có nghĩa rằng nó chỉ có thể chỉnh sửa, mà không mất dữ liệu, các tập tin có chứa các ký tự từ trang mã ngụ ý." (Trợ giúp TextPad, từ khóa "unicode") –

+0

Rất kỳ quặc. Không thể hiểu trả tiền cho một sản phẩm như thế khi Notepad ++ tồn tại! –

6

Tài liệu 'hỗ trợ' UTF-8 và UTF-16 chỉ hỗ trợ TextPad nhiều như nó sẽ nhập và xuất chúng. Nhưng nó vẫn chỉnh sửa các tập tin như các byte đơn giản, và không phải ký tự Unicode (sử dụng trang mã ANSI, là trang mã 1252 cho Tây Âu).

Vì vậy, trừ khi tệp xảy ra chỉ chứa các ký tự cũng tồn tại trong trang mã đó, bạn sẽ mất nội dung. Điều này thay vì đánh bại điểm của Unicode.

Thật vậy, đây là vấn đề khiến tôi bỏ chạy — với EmEditor, vào lúc đó, mặc dù bây giờ tôi đã đồng ý với các nhận xét trước và đề xuất Notepad ++. Thời đại trả tiền cho các biên tập viên văn bản đã biến mất.

+1

Nếu tôi chỉ có thể nói một điều nữa về stackoverflow cho phần còn lại của cuộc đời tôi, sau đó nó sẽ là cố gắng emeditor. Tuyệt vời. – monkjack

+0

Khi TextPad 8 này không còn chính xác nữa. –

3

Tôi tìm thấy một cuộc thảo luận về vấn đề này trong các diễn đàn Textpad: http://forums.textpad.com/viewtopic.php?t=11019

Trong khi tôi có Notepad ++, Textpad xử lý tập tin lớn một cách dễ dàng trong khi biên tập viên khác tôi đã cố gắng, bao gồm Notepad ++, hoặc là chậm như rùa bò hay là chết . Tôi hiện đang cố gắng chỉnh sửa một tập tin 475MB và Notepad ++ không phải là nhiệm vụ.

+0

Các tệp lớn: Tôi nghĩ đó là do phần đánh dấu văn bản cần nhiều bộ nhớ hơn. Notepad ++ không thể sửa lỗi này vì đây là một hạn chế của thành phần Scintilla mà Notepad ++ sử dụng để làm văn bản. – StanE

+0

[EmEditor được thiết kế đặc biệt để xử lý các tệp lớn một cách duyên dáng] (https://www.emeditor.com/text-editor-features/large-file-support/large-file-controller/). Theo kinh nghiệm của tôi (ví dụ: với các tệp SQL có dung lượng từ 5–15 GB trên máy tính Windows 64 bit có RAM 4GB), nó thực sự tốt đến mức đáng kinh ngạc. (Một số hoạt động như tìm kiếm và thay thế toàn cầu sẽ luôn chậm trên bất kỳ trình soạn thảo văn bản nào trong tình huống này, nhưng EmEditor có cách tiếp cận thực tế để làm những gì có thể.) –

-2

Hãy thử mã ANSI thiết lập với File/Open, mà nên giải quyết vấn đề trong TextPad

5

Trên thực tế TextPad không hỗ trợ hiển thị mã Unicode điểm cấp họ đi về nó một cách sai lầm. Để hiển thị các ký tự Unicode, bạn phải chọn Configure-> Preferences và mở rộng "Document Classes-> Text-> Font.

Bạn cần chọn một phông chữ Unicode và đặt Script để khớp. Ví dụ: Arial Unicode MS Tuy nhiên, đây là một cách tiếp cận lạc hậu vì ứng dụng sẽ xử lý điều này khi người dùng nói với TextPad để mở tệp bằng Unicode hoặc UTF-8. Ứng dụng được xây dựng trong Notepad với MS Windows sẽ tự động phát hiện mã hóa và hiển thị chính xác glyphs dựa trên mã hóa.

+1

Ngay cả Arial Unicode MS không chứa tất cả các ký tự tôi muốn; và nếu tôi là khách hàng trả tiền và tốt nghiệp khoa học máy tính, không thể tìm ra cách tạo một tệp mã nguồn UTF-8 đa ngôn ngữ (thậm chí chỉ là châu Âu) với TextPad, sau khi đọc các tệp trợ giúp, diễn đàn, v.v. và sau khi cố gắng liên hệ với bộ phận hỗ trợ; sau đó có một cái gì đó nghiêm trọng sai (Tôi không nên nói bao nhiêu thời gian tôi lãng phí đấu tranh với bị hỏng UTF-8 SQL bãi vì TP!) Nếu người TextPad sẽ yêu cầu hỗ trợ unicode cho sản phẩm của họ, họ ít nhất nên đặt một dấu hoa thị bên cạnh yêu cầu đó! –

6

TextPad 8, mới nhất từ ​​2016-01-28, hiện cuối cùng hỗ trợ đúng BMP Unicode. Đó là một nâng cấp trả tiền, nhưng cho đến nay đã được làm việc hoàn hảo cho tôi.

+0

Có, nhưng ...thậm chí txt class IS được cấu hình để chuyển đổi thành utf8, tập tin trả về utf8, notepad ++ mở đúng file, unicode font được chọn cho lớp txt nó chuyển đổi ä 's và ö thành các ký tự bị hỏng bằng cách giả định ANSI, nhưng nếu chèn các ký tự trang mã -ansi chẳng hạn như ký tự Cyrillic hơn là nó giả định đúng utf8. Với tôi đây là một lỗi, không phải là một tính năng và có xử lý NotePad ++ là chính xác –

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