Có thể bạn quan tâm: In File Excel Bị Mất Dòng Kẻ: Nguyên Nhân, Hậu Quả Và Cách Khắc Phục Hiệu Quả
Mở Đầu
Trong công việc văn phòng, đặc biệt là khi xử lý dữ liệu quốc tế, việc chuyển đổi bảng mã (encoding) trong Excel là một kỹ năng không thể thiếu. Bảng mã quyết định cách mà các ký tự, đặc biệt là các ký tự có dấu, ký tự đặc biệt, hoặc các ngôn ngữ không phải Latin, được hiển thị và lưu trữ. Khi dữ liệu được nhập từ các nguồn khác nhau (CSV, TXT, database, web…), nếu không đồng bộ đúng bảng mã, bạn sẽ gặp phải các hiện tượng như “gây lỗi ký tự”, “dấu hỏi”, “???” hoặc “”. Bài viết dưới đây sẽ cung cấp cho bạn một hướng dẫn chi tiết, từ những khái niệm cơ bản, các vấn đề thường gặp, cho tới các phương pháp thực tiễn để chuyển bảng mã trong Excel trên các phiên bản khác nhau (Excel 2026, 2026, 2026, 2026, Microsoft 365) và cả trên môi trường Mac.
Có thể bạn quan tâm: Bảng Kê Mua Hàng Excel: Hướng Dẫn Từ A Đến Z Để Quản Lý Chi Phí Hiệu Quả
1. Hiểu Về Bảng Mã (Encoding) Là Gì?
1.1 Định Nghĩa
- Bảng mã (character encoding) là một hệ thống quy ước để ánh xạ các ký tự (chữ cái, số, ký hiệu) thành các dãy bit (mã nhị phân) mà máy tính có thể lưu trữ và truyền tải.
- Các bảng mã phổ biến: ASCII, ANSI, UTF‑8, UTF‑16, Unicode, Windows‑1252, GB2312, Shift‑JIS, v.v.
1.2 ASCII vs ANSI vs Unicode
| Bảng mã | Số lượng ký tự | Dải mã | Đặc điểm |
|---|---|---|---|
| ASCII | 128 | 0‑127 | Chỉ hỗ trợ ký tự tiếng Anh, số, ký tự điều khiển. |
| ANSI (Windows‑1252) | 256 | 0‑255 | Mở rộng ASCII, hỗ trợ tiếng Tây Âu, nhưng không đồng nhất toàn cầu. |
| Unicode (UTF‑8, UTF‑16…) | Hơn 1 triệu | 0‑0x10FFFF | Hỗ trợ mọi ngôn ngữ, ký tự đặc biệt, biểu tượng, emoji. |
1.3 Tại Sao Excel Thường Gây Lỗi Khi Mở File Với Bảng Mã Khác?
- Mặc định: Khi mở một file CSV/TXT, Excel tự động đoán bảng mã dựa trên hệ thống OS và cấu hình ngôn ngữ. Nếu đoán sai, các ký tự sẽ hiển thị sai.
- Không hỗ trợ UTF‑8 trong một số phiên bản cũ: Trước Excel 2026, việc mở trực tiếp file UTF‑8 mà không qua “Import Text” thường dẫn tới lỗi.
- Lỗi khi lưu: Khi lưu file dưới định dạng CSV, Excel mặc định sử dụng ANSI (Windows‑1252) trừ khi bạn thay đổi cài đặt.
Có thể bạn quan tâm: Bảng Kê Chi Tiền Bằng Excel: Hướng Dẫn Chi Tiết Từ A Đến Z Để Quản Lý Tài Chính Cá Nhân Hiệu Quả
2. Các Tình Huống Thực Tế Gặp Phải Khi Cần Chuyển Bảng Mã
| Tình huống | Nguyên nhân | Hậu quả | Giải pháp chung |
|---|---|---|---|
| Mở file CSV tiếng Việt và thấy “????” | File thực tế là UTF‑8, Excel đoán là ANSI | Dữ liệu mất | Import bằng Text Import Wizard, hoặc mở trong Notepad++ → Save As UTF‑8. |
| Khi xuất báo cáo CSV và người đồng nghiệp không đọc được tiếng Trung | Excel lưu dưới ANSI (Windows‑1252) | Ký tự Hiển thị “ä½ å¥½” | Lưu dưới UTF‑8 bằng VBA hoặc Power Query. |
| Nhập dữ liệu từ hệ thống ERP (định dạng ISO‑8859‑1) | Bảng mã khác | Dấu “é” thành “é” | Sử dụng Power Query → Transform → Change Type → Convert to UTF‑8. |
| Đọc dữ liệu từ API trả về JSON (UTF‑8) và copy‑paste vào Excel | Excel tự động chuyển thành Unicode, nhưng khi lưu lại CSV thì mất dấu | Khi mở lại file CSV, dấu biến mất | Sử dụng “Save As” → “CSV UTF‑8 (Comma delimited)”. |
3. Cách Chuyển Bảng Mã Khi Mở File Trong Excel
3.1 Sử Dụng Text Import Wizard (Import Dữ Liệu Văn Bản)
Lưu ý: Phương pháp này hoạt động trên mọi phiên bản Excel (2026‑2026) và trên cả Windows lẫn Mac (qua “Data → From Text/CSV”).
Bước 1: Mở Excel → Tab “Data” → “From Text/CSV”
- Chọn file CSV/TXT cần mở.
- Power Query Preview hiện ra, ở góc phải có mục “File Origin”. Nhấn vào danh sách thả xuống.
- Chọn bảng mã phù hợp:
65001: Unicode (UTF-8)1252: Western European (Windows)1250: Central European (Windows), v.v.- Kiểm tra xem dữ liệu có hiển thị đúng không. Nếu vẫn sai, thử các bảng mã khác.
- Nhấn “Load” để đưa dữ liệu vào sheet.
Bước 2: Nếu Power Query không hiện “File Origin”
- Nhấn “Transform Data”.
- Trong Power Query Editor, vào “Home → Advanced Editor” và thêm dòng
Source = Csv.Document(File.Contents("path"),Delimiter=",", Encoding=65001, QuoteStyle=QuoteStyle.None)(đổi65001thành mã mong muốn).
3.2 Mở Trực Tiếp Bằng “Open” (Không Khuyên Dùng)
Trong một số trường hợp bạn muốn mở nhanh:
- Excel 2026 trở lên: Khi mở file CSV, Excel sẽ tự động nhận dạng UTF‑8 nếu file có BOM (Byte Order Mark). Vì vậy, trước khi mở, thêm BOM vào file (sử dụng Notepad++ → “Encoding → Encode in UTF‑8-BOM” → Save).
- Excel 2026/2026: Không hỗ trợ tự động UTF‑8. Cách duy nhất là dùng Text Import Wizard.
3.3 Sử Dụng Notepad++ Hoặc Notepad Để Thêm BOM
- Mở file trong Notepad++.
- Chọn “Encoding → Convert to UTF‑8 (without BOM)” nếu muốn không có BOM, hoặc “Encode in UTF‑8-BOM” nếu muốn Excel nhận dạng.
- Save lại và mở trong Excel.
4. Cách Chuyển Bảng Mã Khi Lưu File
4.1 Lưu Dưới Định Dạng “CSV UTF‑8 (Comma delimited)”
- Excel 2026 trở lên: “File → Save As → Chọn “CSV UTF‑8 (Comma delimited) (.csv)”.
- Đảm bảo rằng workbook không chứa công thức phức tạp, vì CSV chỉ lưu giá trị.
4.2 Sử Dụng VBA Để Lưu Dưới UTF‑8
Sub SaveAsUTF8() Dim ws As Worksheet Dim fso As Object, ts As Object Dim txt As String Dim i As Long, j As Long Dim arr As Variant Set ws = ActiveSheet arr = ws.UsedRange.Value For i = 1 To UBound(arr, 1) For j = 1 To UBound(arr, 2) txt = txt & arr(i, j) If j < UBound(arr, 2) Then txt = txt & "," Next j txt = txt & vbCrLf Next i Set fso = CreateObject("Scripting.FileSystemObject") Set ts = fso.CreateTextFile(ThisWorkbook.Path & "\Export_UTF8.csv", True, True) 'True,True = Unicode (UTF‑8) ts.Write txt ts.Close MsgBox "File đã được lưu dưới UTF‑8 tại: " & ThisWorkbook.Path & "\Export_UTF8.csv"
End Sub
- Giải thích: Tham số
True, TruetrongCreateTextFiletạo file Unicode UTF‑8. - Lưu ý: Nếu dữ liệu có dấu phẩy trong ô, cần xử lý bằng cách bao quanh bằng dấu ngoặc kép (
").
4.3 Sử Dụng Power Query Để Export
- Sau khi nhập dữ liệu (có thể đã chuyển bảng mã), vào “Home → Close & Load To…”.
- Chọn “Only Create Connection”.
- Quay lại “Home → Advanced Editor”, viết script M:
let Source = Excel.CurrentWorkbook(){Name="Table1"}Content, Export = Csv.Document(File.Contents("C:\Temp\Export_UTF8.csv"),Delimiter=",", Encoding=65001, QuoteStyle=QuoteStyle.None)
in Export
- Thay
Table1và đường dẫn tùy ý.
5. Chuyển Bảng Mã Trong Excel Bằng Power Query (Get & Transform)
Power Query là công cụ mạnh mẽ để đọc, chuyển đổi và tải dữ liệu. Nó cho phép bạn chỉ định encoding khi nhập và khi xuất.
5.1 Nhập Dữ Liệu Với Encoding Tùy Chỉnh

Có thể bạn quan tâm: File Excel Bảng Lương Nhân Viên: Hướng Dẫn Tạo, Quản Lý Và Tối Ưu Hóa Nhân Sự Hiệu Quả
- Data → Get Data → From File → From Text/CSV.
- Chọn file, trong cửa sổ preview, nhấn “Transform Data”.
- Trong “Source” của Power Query Editor, bạn sẽ thấy:
Source = Csv.Document(File.Contents("C:\Data\myfile.csv"),Delimiter=",", Columns=5, Encoding=1252, QuoteStyle=QuoteStyle.Csv)
- Thay
Encoding=1252thànhEncoding=65001(UTF‑8) hoặc mã mong muốn. - Áp dụng các bước chuyển đổi (tách cột, kiểu dữ liệu…) rồi “Close & Load”.
5.2 Xuất Dữ Liệu Thành CSV UTF‑8
Sau khi tạo bảng trong Power Query:
- “Home → Close & Load To… → Only Create Connection”.
- Click “Home → Advanced Editor” và viết:
let Source = Excel.CurrentWorkbook(){Name="Table1"}Content, Export = Csv.Document(File.Contents("C:\Temp\Result.csv"),Delimiter=",", Encoding=65001, QuoteStyle=QuoteStyle.Csv)
in Export
- Chạy query → File sẽ được tạo với encoding UTF‑8.
6. Chuyển Bảng Mã Trên Mac OS
Excel cho Mac có một số khác biệt:
- Không có Text Import Wizard như Windows. Thay vào đó, dùng “Data → From Text” (Power Query chưa được tích hợp trên mọi phiên bản Mac).
- Cách nhanh nhất: Mở file trong TextEdit → Format → Make Plain Text → Save As UTF‑8 rồi mở trong Excel.
- Hoặc dùng Terminal để chuyển encoding:
iconv -f ISO-8859-1 -t UTF-8 input.csv > output_utf8.csv
Sau khi chuyển, mở output_utf8.csv trong Excel.
7. Các Mã Bảng Mã Thông Dụng và Mã Số (Code Page)
| Mã | Tên | Miêu tả ngắn |
|---|---|---|
| 65001 | UTF‑8 | Unicode đa ngôn ngữ, phổ biến trên web. |
| 1200 | UTF‑16 LE | Unicode, dùng trong Windows (bộ nhớ 2 byte). |
| 1250 | Windows‑1250 | Trung Âu (Poland, Czech). |
| 1251 | Windows‑1251 | Cyrillic (Nga, Ukraina). |
| 1252 | Windows‑1252 | Tây Âu (tiếng Anh, Pháp, Đức). |
| 936 | GBK | Trung Quốc giản thể. |
| 950 | Big5 | Trung Quốc truyền thống (Hồng Kông). |
| 932 | Shift‑JIS | Nhật Bản. |
| 28591 | ISO‑8859‑1 | Latin‑1, tương tự Windows‑1252. |
Khi làm việc với dữ liệu đa ngôn ngữ, UTF‑8 luôn là lựa chọn an toàn nhất.
8. Xử Lý Lỗi Thường Gặp
8.1 “????” Hoặc “??????” Khi Mở File
- Nguyên nhân: Excel đoán sai bảng mã, thường khi file thực tế là UTF‑8 nhưng Excel mở dưới ANSI.
- Giải pháp:
- Đóng file.
- Mở bằng Notepad++ → “Encoding → Convert to UTF‑8 (without BOM)” → Save.
- Mở lại trong Excel bằng Text Import Wizard, chọn
65001.
8.2 “é” Thay Vì “é”
- Nguyên nhân: File là ISO‑8859‑1 (Latin‑1) nhưng được đọc như UTF‑8.
- Giải pháp:
- Mở file trong Notepad++ → “Encoding → Convert to ANSI” → Save.
- Hoặc trong Excel, dùng Power Query → Thay
Encoding=65001thànhEncoding=1252.
8.3 Dòng Thêm “” (BOM) Khi Mở
- Nguyên nhân: File UTF‑8 có BOM, Excel hiển thị BOM như ký tự.
- Giải pháp:
- Khi sử dụng VBA hoặc Power Query, bỏ qua ký tự đầu tiên (
Text.Start), hoặc lưu file không có BOM nếu không cần.
8.4 Dòng Trống Khi Import
- Nguyên nhân: Khi file có ký tự CR (
\r) mà Excel chỉ nhận LF (\n). - Giải pháp: Chuyển đổi line ending trong Notepad++ → “Edit → EOL Conversion → Windows (CR LF)”.
9. Thực Hành: Bài Tập Tự Làm
Bài 1: Nhập File CSV UTF‑8 Không Có BOM
- Tải file mẫu
sample_utf8_no_bom.csv(có tiếng Việt, tiếng Trung, tiếng Ả Rập). - Mở Excel → Data → From Text/CSV → Chọn file.
- Trong “File Origin”, chọn
65001. - Kiểm tra các cột, xác nhận mọi ký tự hiển thị đúng.
Bài 2: Chuyển File CSV ANSI Sang UTF‑8 Bằng VBA
- Mở workbook mới, tạo một button.
- Gán macro
SaveAsUTF8(đã cung cấp ở mục 4.2). - Chạy macro, kiểm tra file
Export_UTF8.csvtrong thư mục workbook. - Mở file trong Notepad++ → Kiểm tra “Encoding → UTF‑8”.
Bài 3: Sử Dụng Power Query Để Gộp Nhiều File CSV Với Encoding Khác Nhau
- Đặt 3 file CSV trong cùng thư mục:
data_en.csv(ANSI)data_vn.csv(UTF‑8)data_cn.csv(GBK)- Trong Excel → Data → Get Data → From Folder.
- Khi Power Query hiển thị danh sách file, thêm cột tùy chỉnh để xác định encoding dựa trên tên file:
m = Table.AddColumn(Source, "Encoding", each if Text.Contains(Name,"en") then 1252 else if Text.Contains(Name,"vn") then 65001 else 936) - Sau đó, dùng
Csv.DocumentvớiEncoding=Encodingđể nhập từng file. - Gộp các bảng lại → Close & Load.
10. Các Công Cụ Hỗ Trợ Ngoài Excel
| Công cụ | Nền tảng | Tính năng chính |
|---|---|---|
| Notepad++ | Windows | Chuyển đổi encoding, thêm/bỏ BOM, chuyển line ending. |
| Sublime Text | Windows/Mac/Linux | Hỗ trợ UTF‑8, batch convert. |
| iconv | Linux/Mac/Windows (Cygwin) | Lệnh chuyển đổi encoding trong terminal. |
| Python (pandas) | Cross‑platform | pd.read_csv('file.csv', encoding='utf-8') → df.to_csv('out.csv', encoding='utf-8-sig'). |
| UltraEdit | Windows/Mac | Quản lý file lớn, chuyển encoding nhanh. |
| Online tools | Web | “Convert CSV encoding” (chỉ dùng cho file nhỏ, không bảo mật). |
11. Lời Khuyên Khi Làm Việc Với Bảng Mã
- Luôn làm việc với UTF‑8 trong toàn bộ pipeline (source → processing → storage → reporting). Điều này giảm thiểu lỗi.
- Thêm BOM khi cần tương thích với các phần mềm cũ (Excel 2026). Tuy nhiên, nếu không cần, tránh BOM để giảm dung lượng.
- Kiểm tra file mẫu trước khi triển khai tự động hoá (macro, script). Dùng Notepad++ để xem “Encoding”.
- Ghi chú trong tài liệu: Khi giao file CSV cho người khác, luôn ghi rõ “Encoding: UTF‑8 (without BOM)”.
- Sử dụng Power Query cho các dự án lớn, vì nó cho phép lưu lại cấu hình encoding và tái sử dụng.
12. Kết Luận
Việc chuyển bảng mã trong Excel không chỉ là một thao tác kỹ thuật mà còn là yếu tố quan trọng giúp dữ liệu đa ngôn ngữ luôn chính xác, tránh mất mát thông tin khi trao đổi giữa các hệ thống. Từ việc hiểu rõ khái niệm bảng mã, nhận diện các lỗi thường gặp, cho tới việc áp dụng các công cụ mạnh mẽ như Text Import Wizard, Power Query, VBA và các phần mềm hỗ trợ bên ngoài, bạn đã có một bộ công cụ hoàn chỉnh để xử lý mọi trường hợp.
Nhớ rằng:
- UTF‑8 là chuẩn quốc tế, ưu tiên sử dụng.
- Khi mở file, luôn xác định đúng “File Origin” hoặc thêm BOM nếu cần.
- Khi lưu file, chọn “CSV UTF‑8” hoặc dùng VBA/Power Query để kiểm soát hoàn toàn.
- Đối với môi trường Mac, iconv và TextEdit là trợ thủ đắc lực.
Hy vọng bài viết trên đã cung cấp cho bạn một hướng dẫn chi tiết, đầy đủ và thực tiễn để nắm vững kỹ năng chuyển bảng mã trong Excel. Hãy áp dụng ngay vào công việc, chia sẻ kiến thức này với đồng nghiệp và giảm thiểu tối đa các lỗi ký tự không mong muốn. Chúc bạn thành công!

Tiến sĩ Lê Thống Nhất sinh năm 1955 tại Nghệ An, là nhà giáo, nhà báo và doanh nhân trong lĩnh vực giáo dục. Ông từng giảng dạy Toán học tại Trường THPT Chuyên Phan Bội Châu và đảm nhiệm nhiều vai trò trong ngành giáo dục, từ viết sách, biên soạn tài liệu đến sáng lập các dự án hỗ trợ học tập trực tuyến.
Ông là người sáng lập BigSchool – nền tảng giáo dục trực tuyến kết nối giáo viên và học sinh cả nước. Ngoài ra, ông còn nổi tiếng với vai trò tác giả, diễn giả truyền cảm hứng và khách mời trên nhiều chương trình truyền hình, trong đó có “Ai là triệu phú” trên truyền hình VTV.
Trong suốt sự nghiệp, Tiến sĩ Lê Thống Nhất đã nhận nhiều giải thưởng giáo dục và được biết đến như một người luôn đổi mới, ứng dụng công nghệ vào dạy và học, góp phần lan tỏa tri thức và niềm say mê học tập cho thế hệ trẻ.
