Văn bản lỗi hai lần trông như thế nào
Trước
Tiếng Việt – HàNội – Sài Gòn – Cảm ơn
Sau
Tiếng Việt – Hà Nội – Sài Gòn – Cảm ơn
Vì sao xảy ra
Trong UTF-8, một chữ như ệ gồm ba byte. Khi chương trình đọc các byte đó theo Windows-1252 (Latin-1), bạn thấy ba ký tự lạ: ệ. Nếu kết quả ấy lại được lưu thành UTF-8 rồi bị đọc sai lần nữa, mỗi ký tự lại bị tách ra và ệ trở thành ệ.
Những tình huống thường dẫn đến lần lỗi thứ hai:
- Chuyển cơ sở dữ liệu khi bản sao lưu WordPress hoặc SQL đã lỗi từ trước.
- Mở file CSV bằng Excel, lưu lại, rồi sau đó nhập vào hệ thống khác với thiết lập sai.
- Một đoạn script hoặc API chuyển mã văn bản vốn đã là UTF-8.
Các dạng thường gặp
Lỗi hai lần
Việt Nam HàNội Sài Gòn Cảm ơn Khách hàng Thành phố Lê Thị Hoa
Đúng
Việt Nam Hà Nội Sài Gòn Cảm ơn Khách hàng Thành phố Lê Thị Hoa
Nếu lỗi ba lần, chuỗi còn dài hơn nữa. Mojibuster cũng tự động sửa được mức này. Lỗi một lần xem tại Mojibuster là gì.
Vì sao tìm và thay thế không đủ
Với tìm và thay thế, bạn phải biết từng mẫu lỗi cho mỗi tầng và mỗi chữ có dấu. Chỉ cần sót một mẫu là không sạch, hoặc vô tình thay cả chữ đúng. Mojibuster tính lại các byte gốc và chỉ thay khi kết quả là UTF-8 hợp lệ.
- Dán văn bản vào ô phía trên hoặc kéo thả file vào.
- Mojibuster nhận biết văn bản bị chuyển mấy lần và sửa tối đa ba tầng.
- Ở mục Đã thay đổi gì? bạn xem được từng chỗ sửa, rồi sao chép kết quả hoặc tải file về.
Văn bản đã đúng được giữ nguyên, kể cả khi dòng lỗi và dòng đúng nằm lẫn trong cùng một file. Nếu chữ Việt bị lỗi do font cũ như TCVN3 hoặc VNI, xem sửa lỗi font tiếng Việt.
Câu hỏi thường gặp
Làm sao nhận biết lỗi hai lần?
Chuỗi lỗi dài hơn và lặp lại các ký tự như Ã, â€, Â. Dạng ngắn hơn như Tiếng Việt là lỗi một lần, xem Mojibuster là gì.
Mojibuster sửa được tối đa mấy tầng?
Tối đa ba tầng. Nhiều hơn gần như không gặp trong thực tế.
Nếu chỉ một phần văn bản bị lỗi hai lần thì sao?
Không vấn đề gì. Mojibuster sửa từng chỗ riêng và giữ nguyên phần đúng.
Tôi có thể kiểm tra kết quả trước không?
Có. Mục Đã thay đổi gì? liệt kê từng chỗ đã sửa kèm số dòng trước khi bạn sao chép hoặc tải về.