Mở bảng thuộc tính lớp quy hoạch ba loại rừng, cột huyện ghi LÖ Thñy, cột quy hoạch ghi Rõng s¶n xuÊt. Dữ liệu không hỏng — nó chỉ được gõ bằng bảng mã tiếng Việt đời cũ, còn QGIS đọc theo Unicode. Bài này giúp bạn nhận ra dữ liệu đang ở bảng mã nào chỉ bằng cách nhìn chữ lỗi, và đổi sang Unicode bằng ba công cụ khác nhau, tuỳ máy bạn có sẵn công cụ nào.
Đây là bài 5 trong series Chuyển MapInfo sang QGIS và hệ tọa độ VN-2000.
Nhận ra bảng mã qua cách chữ bị lỗi
Trước năm 2000, tiếng Việt trên máy tính gõ bằng nhiều bảng mã khác nhau. Dữ liệu bản đồ lâm nghiệp cũ phần lớn dùng TCVN3 (font .Vn…, còn gọi là ABC), số ít dùng VNI (font VNI-…). QGIS và máy tính hiện nay dùng Unicode. Nhìn kiểu chữ lỗi là biết nguồn:
Bảng mã gốc | Đặc điểm | "Bình Nguyên" hiện thành | "Lệ Thủy" hiện thành |
TCVN3 (ABC) | Font .Vn… | B×nh Nguyªn | LÖ Thñy |
VNI | Font VNI-… | Bình Nguyeân | — |
Unicode | Chuẩn hiện nay (UTF-8) | Bình Nguyên | Lệ Thủy |
Dấu hiệu nhanh: chữ lỗi có nhiều ký tự lạ như ×, ª, Ö, ñ, ¶, Ê thì gần như chắc chắn là TCVN3. Chữ lỗi giữ được nguyên âm nhưng dấu bị tách thành chữ cái đứng sau (eâ, aø) thì là VNI.

Bảng thuộc tính lớp quy hoạch trước khi chuyển: cột huyện ghi LÖ Thñy, cột xã ghi Kim Thñy, cột quy hoạch ghi Rõng s¶n xuÊt
Cách 1: chuyển cùng lúc với hệ tọa độ
Dữ liệu từ MapInfo thường vừa lỗi font vừa thiếu hệ tọa độ. Công cụ VN Font & CRS Converter làm cả hai trong một lần: để cột Bảng mã nguồn ở Tự nhận diện, Bảng mã đích là Unicode, xem preview cho chắc rồi chạy. Các bước chi tiết có trong bài Chuyển MapInfo TAB sang Shapefile không lỗi font, đúng hệ chiếu.
Nếu chỉ cần đổi font, dùng đúng công cụ đó và tắt công tắc Đổi hệ chiếu.
Cách 2: plugin Vietnamese Font Converter
Plugin này có sẵn trong kho plugin chính thức của QGIS.
- Vào Plugins ▸ Manage and Install Plugins…, chọn All, gõ Vietnam vào ô tìm kiếm, chọn Vietnamese Font Converter rồi bấm Install Plugin.
- Bấm biểu tượng plugin vừa cài trên thanh công cụ. Cửa sổ Chuyển đổi mã font chữ tiếng Việt hiện ra.
- Chọn lớp vector đầu vào — lớp đang lỗi font.
- Chọn thư mục và tên lớp đầu ra — bấm nút …, đặt tên file mới rồi bấm Save.
- Chọn mã nguồn >> mã đích — với dữ liệu TCVN3 chọn TCVN (ABC) >> Unicode.
- Bấm OK.

Cửa sổ Chuyển đổi mã font chữ tiếng Việt: chọn lớp đầu vào, chọn thư mục và tên lớp đầu ra, chọn TCVN (ABC) sang Unicode rồi bấm OK
Lớp kết quả được thêm vào bản đồ. Mở bảng thuộc tính kiểm tra:

Bảng thuộc tính sau khi chuyển: cột huyện ghi Lệ Thủy, cột xã ghi Kim Thủy, cột quy hoạch ghi Rừng sản xuất
Cách 3: chức năng đổi font trong plugin HCMGIS
Máy đã cài HCMGIS (plugin phổ biến cho bản đồ nền và tiện ích Việt Nam) thì không cần cài thêm gì:
- Vào menu HCMGIS ▸ Calculate Field ▸ Vietnam Font Converter.
- Input Layer: chọn lớp cần đổi.
- Source Charset: chọn bảng mã gốc — TCVN3 hoặc VNI.
- Target Charset: chọn Unicode.
- Options: để trống nếu muốn giữ nguyên chữ hoa thường.
- Output: chọn nơi lưu file kết quả, bấm Apply.

Cửa sổ Vietnamese Font Converter của HCMGIS: lớp đầu vào, bảng mã nguồn TCVN3, bảng mã đích Unicode, ô tuỳ chọn và đường dẫn file kết quả, nút Apply
Có nhiều lớp thì làm lần lượt từng lớp theo cùng các bước.
Lưu kết quả cho đúng
Cả ba công cụ đều tạo file mới, không ghi đè dữ liệu gốc. Nếu sau đó bạn lưu lại sang Shapefile bằng Export ▸ Save Features As…, nhớ đặt ô Encoding là UTF-8. Khi gửi Shapefile cho người khác, gửi đủ cả bộ file cùng tên — đặc biệt tệp .cpg ghi bảng mã. Thiếu tệp này, bên nhận mở ra có thể lại thấy chữ lỗi.
Cách lưu đúng hệ tọa độ cùng lúc có trong bài Gán CRS và Reproject.
Lỗi thường gặp
- Chuyển xong chữ vẫn lỗi, kiểu lỗi khác đi: chọn nhầm bảng mã nguồn — đem dữ liệu VNI đổi như TCVN3 hoặc ngược lại. Quay lại file gốc, chọn bảng mã còn lại.
- Chuyển xong chữ lỗi chồng thêm một lớp nữa: dữ liệu vốn đã là Unicode mà vẫn đem đổi. Chỉ đổi khi nhìn thấy chữ lỗi; mỗi file chỉ đổi một lần, luôn đổi từ file gốc.
- Bảng thuộc tính đúng nhưng nhãn trên bản đồ hiện ô vuông: không phải lỗi bảng mã mà font dùng cho nhãn thiếu ký tự tiếng Việt. Vào Layer Properties ▸ Labels, đổi font nhãn sang Arial hoặc Times New Roman.
- Gửi Shapefile đi, bên kia mở bị lỗi chữ: thiếu tệp .cpg, hoặc lúc lưu chưa chọn UTF-8.
Câu hỏi thường gặp
Đổi font có làm thay đổi hình dạng lô hay số liệu diện tích không? Không. Công cụ chỉ dịch từng ký tự chữ trong bảng thuộc tính. Hình học và các cột số giữ nguyên.
Cần gửi dữ liệu cho đơn vị còn dùng MapInfo font TCVN3 thì sao? Các công cụ trên đều cho chọn chiều chuyển, nên đổi ngược từ Unicode sang TCVN3 được. Làm trên một bản sao, giữ bản Unicode làm bản chính.
Dùng cách nào trong ba cách? Dữ liệu từ MapInfo cần gán cả hệ tọa độ thì dùng cách 1. Chỉ cần đổi font thì cách 2 hoặc 3, dùng plugin nào máy bạn đã có.
Bài tiếp theo
Bài 6: Chuyển bản vẽ CAD (DGN/DXF) sang Shapefile trong QGIS — với bản vẽ từ đơn vị đo đạc, không có thuộc tính và được chia theo Level.
―――
Bài viết biên soạn lại từ tài liệu tập huấn "Ứng dụng QGIS trong quản lý tài nguyên rừng" – Dự án Quản lý rừng bền vững và Bảo tồn đa dạng sinh học (VFBC/USAID), Quảng Trị 2024. Tác giả: Vũ Văn Thái.






