Chuyển mã (Encoding)
Chuyển đổi text giữa các bảng mã tiếng Việt — Unicode ↔ TCVN3 ↔ VNI-Windows ↔ VIQR.
Ứng dụng: mở file Excel cũ (10-20 năm trước) dùng TCVN3 / VNI mà chữ hiển thị thành ký tự lạ → cần chuyển về Unicode để dùng được.
Mở dialog
DVD Addin → nhóm Văn bản và Số → split-button Chuyển mã (icon Aa).
Các bảng mã tiếng Việt
Unicode (TCVN 6909:2001)
Bảng mã chuẩn quốc tế, được Windows / Office / web hỗ trợ native từ 2000s. Mỗi ký tự tiếng Việt là 1 codepoint UTF-8/UTF-16.
Ví dụ: à = U+00E0, ấ = U+1EA5.
Mọi file mới phải dùng Unicode. Đây là mặc định của Excel hiện đại.
TCVN3 (Bảng mã 8-bit cũ)
Bảng mã 8-bit phát triển trước Unicode. Mỗi ký tự nằm trong vùng 128-255.
Font kèm: .VnTime, .VnArial, .VnTimeH, .VnArialH (dấu chấm đầu — chú ý).
Nếu mở file TCVN3 mà KHÔNG đổi font → chữ hiện ngẫu nhiên: "haø noäi" hoặc "h¶ noíi".
VNI-Windows
Bảng mã của hãng Vietnam International Inc. (sản xuất font VNI). Dùng 2 byte cho mỗi ký tự có dấu.
Font kèm: VNI-Times, VNI-Arial, VNI-Helve.
Chữ TCVN3 và VNI KHÔNG tương thích chéo dù trông giống nhau (cùng dùng font 8-bit).
VIQR (Vietnamese Quoted-Readable)
Bảng mã ASCII-safe dùng cho email/IRC thời chưa có Unicode:
à=aấ=a^'ờ=o+
Ít dùng từ 2010+. Một số file cũ vẫn còn.
Cách dùng
Bước 1 — Phát hiện bảng mã hiện tại
DVD Addin → menu Chuyển mã → Auto-detect (nếu có).
Hoặc nhận biết bằng mắt:
- Font cell là
.VnTime,.VnArial, ... → TCVN3. - Font là
VNI-Times,VNI-Helve, ... → VNI. - Chữ hiện ASCII có ký tự
^,+,',?xen kẽ → VIQR. - Font là
Calibri,Arial,Times New Roman+ chữ tiếng Việt đúng → đã Unicode.
Bước 2 — Chọn vùng cần đổi
Chọn 1 cell hoặc 1 vùng cell.
Bước 3 — Đổi mã
Dropdown menu Chuyển mã có các option:
| Lệnh | Ý nghĩa |
|---|---|
| TCVN3 → Unicode | File cũ font .VnTime chuyển về Unicode |
| VNI → Unicode | File cũ font VNI-Times chuyển về Unicode |
| VIQR → Unicode | Text email/IRC cũ chuyển về Unicode |
| Unicode → TCVN3 | (Hiếm dùng) export về font cũ |
| Unicode → VNI | (Hiếm dùng) |
| Unicode → VIQR | (Hiếm dùng) |
| Unicode dựng sẵn ↔ Unicode tổ hợp | Đổi giữa NFC (1 codepoint/ký tự) ↔ NFD (codepoint base + dấu rời) |
Bước 4 — Đổi font (nếu chuyển TỪ Unicode về TCVN3/VNI)
Sau khi chuyển sang TCVN3 → cần đổi font cell sang .VnTime / .VnArial.
Sau khi chuyển sang VNI → cần đổi sang VNI-Times / VNI-Helve.
Để đẹp hơn: nếu output là TCVN3 → đổi font trước đổi mã, hoặc dùng macro tự đổi font theo bảng mã.
NFC vs NFD (Unicode Normalization)
Một số file Mac/iOS dùng NFD (dấu rời): à = a + dấu huyền (2 codepoints). Windows/Office dùng NFC (dấu liền): à = à (1 codepoint).
Khi paste từ Mac sang Excel Windows → chữ hiện đúng nhưng tìm kiếm / so sánh fail.
→ Chạy Unicode tổ hợp → Unicode dựng sẵn để chuẩn hóa.
Khắc phục sự cố
Chữ vẫn lạ sau khi chuyển
- Đảm bảo bạn chọn ĐÚNG hướng (TCVN3→Unicode chứ không phải Unicode→TCVN3).
- Nếu chữ ban đầu là VNI mà bạn chuyển TCVN3→Unicode → vẫn lạ. Phải biết bảng mã gốc.
Một số ký tự bị bỏ
- Trong bảng mã cũ KHÔNG có ký tự đó (vd:
ổtrong TCVN3 đôi khi bị thay bằngô). - Mất mát nhỏ — chấp nhận hoặc sửa thủ công những chỗ lệch.
Đổi xong vẫn dùng font cũ
- Cell có format font cứng → đổi font sang Unicode-compatible (Calibri / Arial / Times New Roman).
- Hoặc trước khi đổi mã, đổi font về Unicode font trước → đổi mã sau.
License gating
Lệnh Chuyển mã hoàn toàn free — không cần license.
Liên quan
- Đổi chữ (Smart Case) — đổi case sau khi đã Unicode.
- Bỏ dấu — UDF
DvdRemoveDiacriticschuyển "Hà Nội" → "Ha Noi".