Tablora

Tablora · Thư viện

Xử lý dấu thứ tự byte ở ô đầu tiên

Một dấu thứ tự byte UTF-8 có thể nằm trước tiêu đề đầu tiên. Công cụ kiểm tra cấu trúc bỏ một dấu ở đầu, nên ô đầu tiên ghi id mà không có gì ẩn.

Ký tự vô hình trước tiêu đề

Nhiều chương trình, kể cả tùy chọn CSV UTF-8 của Excel, bắt đầu tệp văn bản bằng dấu thứ tự byte: ký tự U+FEFF, báo cho trình đọc biết tệp là UTF-8. Nó vô hình trong hầu hết trình soạn thảo, nhưng vẫn là một ký tự. Khi một công cụ không bỏ nó, tiêu đề đầu tiên trở thành dấu đó cộng với id, và mọi phép tra cứu hay nối trên cột tên id đều thất bại mà không có lý do rõ ràng.

Công cụ kiểm tra cấu trúc bỏ một dấu thứ tự byte ở ngay đầu văn bản được dán trước khi đọc bất kỳ ô nào. Khi đó tiêu đề đầu tiên đúng là id.

Ví dụ: tiêu đề id,name

Ví dụ trên trang là tiêu đề id,name bắt đầu bằng một dấu thứ tự byte, theo sau là bản ghi 1,Mira, với dấu phẩy làm Dấu phân cách trường. Công cụ kiểm tra cấu trúc báo cáo 2 hàng và 2 cột, và hàng 1, cột 1 ghi id, không có tiền tố ẩn nào.

Không có gì khác trong văn bản bị thay đổi: các ô khác giữ nguyên mọi ký tự chúng có.

Nếu không có bước đó, tiêu đề đầu tiên sẽ trông giống hệt trên màn hình nhưng khác khi so sánh, và đó chính là kiểu không khớp khó nhìn thấy.

Kiểm tra một tệp có thể mang dấu

Dấu ở giữa văn bản và trong bản xuất

Một dấu nằm giữa văn bản vẫn là một phần của ô đó. Công cụ xóa các hàng tiêu đề lặp lại cắt khoảng trắng và các ký tự tương tự ở mép ô trước khi so sánh, và việc cắt đó cũng bao gồm dấu thứ tự byte ở đầu ô, nên một tiêu đề lặp lại từ tệp thứ hai được nối vào vẫn nhận ra được. Tuy vậy, các ô trong kết quả của bạn vẫn giữ ký tự đó.

Bản xuất CSV của ứng dụng Tablora cố ý bắt đầu bằng dấu thứ tự byte, để bảng tính mở đúng văn bản có dấu, tiếng Thổ Nhĩ Kỳ, tiếng Nhật và các văn bản không dùng chữ Latinh khác. Nếu bạn dán tệp như vậy vào đây, công cụ kiểm tra cấu trúc bỏ dấu đó, và tiêu đề đầu tiên đến nơi sạch sẽ.

Những ký tự vô hình khác

Khoảng trắng có độ rộng bằng không và các ký tự tương tự không bị bỏ. Nếu sau bước này một tiêu đề vẫn không khớp, hãy tìm chúng trong nguồn.

Dữ liệu đầu vào

Văn bản bảng
id,name 1,Mira
Dấu phân cách trường
,

Kết quả

Các hàng
2
Các cột
2
idname
1Mira
Các hàng có độ rộng khác
0