Cách mở tệp CSV trong Excel bằng mã hóa UTF-8 và tránh lỗi

Cập nhật lần cuối: 02/07/2025
tác giả: Isaac
  • Excel không tự động diễn giải các tệp CSV theo UTF-8, gây ra lỗi hiển thị đối với các ký tự đặc biệt.
  • Có nhiều phương pháp và công cụ khác nhau để nhập tệp CSV một cách chính xác, từ trình hướng dẫn văn bản trong Excel đến các tập lệnh trong Python, VBA và PowerShell.
  • Tự động nhập dữ liệu bằng tập lệnh hoặc sử dụng các công cụ chuyên dụng đảm bảo tính toàn vẹn dữ liệu cho các tệp đa ngôn ngữ.

UTF-8

Những người thường xuyên làm việc với dữ liệu thường gặp phải cùng một vấn đề: Excel hiển thị sai các ký tự đặc biệt khi mở các tệp CSV được tạo bằng UTF-8. Đây là một vấn đề phổ biến, đặc biệt khi xử lý các tên, họ hoặc mô tả đa ngôn ngữ có chứa các chữ cái có dấu, ñ, cedilla, hoặc thậm chí là bảng chữ cái Cyrillic hoặc Hy Lạp. Thay vì hiển thị các dấu và ký hiệu một cách chính xác, các ký tự lạ, dấu hỏi hoặc ô trống lại xuất hiện, dẫn đến hiểu sai và trình bày dữ liệu kém hiệu quả.

Vấn đề này không chỉ ảnh hưởng đến người dùng cao cấp hoặc những người làm việc trong môi trường kỹ thuật, mà còn ảnh hưởng đến bất kỳ cá nhân hoặc nhóm nào cần nhập hoặc xem dữ liệu từ các ứng dụng, nền tảng web hoặc hệ thống quản lý xuất tệp CSV ở định dạng UTF-8. Vấn đề chính là Excel, theo mặc định, không diễn giải mã hóa UTF-8 trong các tệp CSV ngoại trừ trong những trường hợp rất cụ thể. Mặc dù có vẻ như là một vấn đề nhỏ, nhưng việc bắt buộc sử dụng mã hóa chính xác là điều cần thiết để tránh nhầm lẫn và đảm bảo tính toàn vẹn của dữ liệu.

Nguồn gốc của vấn đề: Tại sao Excel không diễn giải chính xác các tệp CSV UTF-8?

Excel, đặc biệt là các phiên bản cũ hơn, tự động sử dụng cài đặt khu vực của hệ điều hành để xác định mã hóa khi bạn mở tệp CSV bằng cách nhấp đúp hoặc chọn 'Tệp > Mở'. Điều này có nghĩa là, trừ khi cài đặt khu vực được đặt thành UTF-8 (điều này không phổ biến theo mặc định trên hệ thống Windows ), các ký tự nằm ngoài phạm vi ASCII có thể hiển thị không chính xác.

Nguyên nhân chính gây ra lỗi là do định dạng CSV, mặc dù đơn giản và phổ biến, nhưng không bao gồm thông tin về mã hóa của nó . Do đó, trong khi các ứng dụng khác như Google Sheets giả định UTF-8, Excel lại giả định các mã hóa cục bộ như ANSI, Windows-1252 hoặc ISO-8859, dẫn đến các vấn đề với các ký tự có dấu, dấu ngã và các ký tự đặc biệt khác.

  Cách tạo phím tắt đến Trình quản lý tác vụ trong Windows 11

Các giải pháp thực tế để mở CSV ở định dạng UTF-8 trong Excel

Có một số phương pháp cho phép Excel xử lý chính xác các tệp CSV định dạng UTF-8 mà không cần sử dụng các giải pháp bên ngoài hoặc chỉnh sửa tệp thủ công. Dưới đây là những lựa chọn thiết thực và đáng tin cậy nhất, đã được người dùng và chuyên gia kiểm chứng.

Mở tệp CSV ở định dạng UTF-8 bằng Trình hướng dẫn nhập văn bản của Excel

UTF-8 Excel

Tùy chọn dễ sử dụng nhất mà Excel cung cấp là Trình hướng dẫn nhập văn bản , cho phép bạn tự chỉ định mã hóa khi mở tệp.

  1. Mở Excel và chọn một trang tính trống.
  2. Vào tab "Dữ liệu" và nhấp vào "Lấy dữ liệu từ văn bản/CSV" hoặc "Từ văn bản" theo phiên bản của bạn.
  3. Điều hướng đến tệp CSV và chọn tệp đó.
  4. Trong cửa sổ xuất hiện, hãy tìm tùy chọn để chọn mã hóa (trong các phiên bản hiện đại, tùy chọn này thường hiển thị là "Nguồn tệp"). Ở đây chọn “65001: Unicode (UTF-8)”.
  5. Vui lòng kiểm tra bản xem trước để đảm bảo các ký tự đặc biệt được hiển thị chính xác trước khi chấp nhận.

Phương pháp này ngăn chặn sự xuất hiện của các ký tự lạ và cho phép nhập trực tiếp và đơn giản, đảm bảo hiển thị chính xác các dấu nhấn, chữ ñ và các ký hiệu khác.

Nhập tệp CSV ở định dạng UTF-8 bằng Power Query

Một kỹ thuật hiệu quả khác được chính Microsoft khuyến nghị là sử dụng Power Query , một công cụ được tích hợp vào Excel từ phiên bản 2016 và có sẵn dưới dạng tiện ích bổ sung miễn phí trong các phiên bản trước đó.

  1. Trong Excel, hãy chuyển đến tab Dữ liệu và chọn Nhận và chuyển đổi dữ liệu..
  2. Chọn “Lấy dữ liệu từ tệp” > “Từ văn bản/CSV”.
  3. Chọn tệp và nếu cần, hãy điều chỉnh mã hóa trong tùy chọn nâng cao thành UTF-8.
  4. Nhấp vào “Tải lên” để nhập nội dung vào một trang tính mới mà không gặp bất kỳ sự cố mã hóa nào.

Power Query cũng giúp dễ dàng làm sạch và chuyển đổi dữ liệu trước khi nhập vào bảng tính , điều này đặc biệt hữu ích nếu các tệp đến từ nhiều nguồn khác nhau hoặc chứa thông tin không được chuẩn hóa.

Giải pháp nếu bạn không thể lưu dưới dạng UTF-8 CSV trực tiếp trong Excel

Một trong những hạn chế mà người dùng phản ánh là Excel, tùy thuộc vào phiên bản và hệ điều hành, không phải lúc nào cũng cho phép lưu trực tiếp các tệp CSV ở định dạng UTF-8 . Trong những trường hợp đó, có thể sử dụng các công cụ của hệ thống để chuyển đổi tệp.

  Cách tạo bảng trong Notion và tận dụng tối đa nó

Sử dụng Windows Notepad để buộc mã hóa UTF-8

  1. Mở tệp CSV gốc trong Excel và chọn “Lưu dưới dạng” nhập “Văn bản Unicode (*.txt)”.
  2. Mở tệp .txt kết quả trong Notepad.
  3. Bạn sẽ thấy dữ liệu được phân tách bằng các tab.. Sử dụng chức năng “Thay thế” (Ctrl+H) để thay đổi tất cả các tab thành dấu phẩy.
  4. Trong “File > Save As”, nhập tên có phần mở rộng .csv và chọn mã hóa UTF-8 trong menu thả xuống loại mã hóa..
  5. Lưu tệp và mở tệp bằng Excel bằng trình hướng dẫn nhập hoặc Power Query như mô tả ở trên..

Phương pháp này hữu ích nếu Excel của bạn không cung cấp tùy chọn lưu "CSV UTF-8 (phân tách bằng dấu phẩy)", đồng thời nó cũng nhanh chóng và không yêu cầu bất kỳ ứng dụng bổ sung nào . Tuy nhiên, hãy tránh chỉnh sửa tệp CSV kết quả trong Excel, vì điều đó có thể làm mất mã hóa UTF-8.

Giải pháp nâng cao: Tự động chuyển đổi và nhập CSV UTF-8

Nếu bạn quản lý khối lượng lớn các tệp CSV hoặc muốn tự động hóa toàn bộ quy trình để tránh lỗi do con người, có một số tùy chọn khả dụng bằng cách sử dụng các tập lệnh và macro . Những giải pháp thay thế này lý tưởng cho cả người dùng kỹ thuật và những người cần hiệu quả trong quy trình làm việc của họ.

Chuyển đổi CSV sang Excel bằng Python và Pandas

Python, cùng với thư viện Pandas, là một trong những cách mạnh mẽ và linh hoạt nhất để xử lý dữ liệu và đảm bảo chuyển đổi chính xác CSV UTF-8 sang Excel :

import pandas as pd
# Leer archivo CSV con codificación UTF-8
df = pd.read_csv('archivo.csv', encoding='utf-8')
# Guardar como archivo Excel conservando todos los caracteres
df.to_excel('archivo.xlsx', index=False)

Điều này đảm bảo tất cả các cột và ký tự vẫn được giữ nguyên khi chuyển đổi sang định dạng Excel. Hơn nữa, tự động hóa cho phép bạn xử lý nhiều tệp hoặc tích hợp nó vào một quy trình lớn hơn.

Nhập UTF-8 CSV bằng macro VBA trong Excel

Excel cho phép bạn tạo macro bằng Visual Basic for Applications (VBA) để tự động hóa quá trình nhập dữ liệu mà vẫn giữ nguyên mã . Một ví dụ đơn giản như sau:

Sub ImportCSV()
 Dim ws As Worksheet
 Dim filePath As String
 filePath = "C:\ruta\a\tu\archivo.csv"
 Set ws = ThisWorkbook.Sheets("Hoja1")
 With ws.QueryTables.Add(Connection:="TEXT;" & filePath, Destination:=ws.Range("A1"))
 .TextFilePlatform = 65001 'UTF-8
 .TextFileStartRow = 1
 .TextFileParseType = xlDelimited
 .TextFileTextQualifier = xlTextQualifierDoubleQuote
 .TextFileCommaDelimiter = True
 .TextFileColumnDataTypes = Array(1)
 .Refresh BackgroundQuery:=False
 End With
End Sub

Điều này cho phép bạn xác định mã hóa, dấu phân cách và nhận được nội dung sạch trực tiếp trong bảng tính.

  Cách chuyển đổi Live Photos sang GIF trên iPhone từng bước

Tự động hóa với PowerShell trên Windows

PowerShell là một công cụ rất hữu ích khác dành cho người dùng Windows cần xử lý và chuyển đổi tập tin bằng các tập lệnh . Một ví dụ về chuỗi tập lệnh có thể là:

$csvPath = "C:\ruta\a\archivo.csv"
$excelPath = "C:\ruta\a\archivo.xlsx"
$csv = Import-Csv -Path $csvPath -Delimiter ','
$excel = New-Object -ComObject Excel.Application
$excel.Visible = $false
$workbook = $excel.Workbooks.Add()
$worksheet = $workbook.Worksheets.Item(1)
$row = 1
$csv | ForEach-Object {
 $col = 1
 $_.PSObject.Properties | ForEach-Object {
   $worksheet.Cells.Item($row, $col) = $_.Value
   $col++
 }
 $row++
}
$workbook.SaveAs($excelPath)
$workbook.Close()
$excel.Quit()

Điều này cực kỳ hữu ích để tự động hóa quá trình xử lý hàng loạt tập tin hoặc tích hợp nó vào các tác vụ quản trị.

Sử dụng các công cụ bên ngoài và bộ chuyển đổi trực tuyến cho CSV UTF-8

Nếu bạn không muốn sử dụng tập lệnh hoặc macro, có các công cụ của bên thứ ba và các trình chuyển đổi trực tuyến giúp dễ dàng chuyển đổi các tệp CSV từ UTF-8 sang định dạng tương thích với Excel . Ví dụ bao gồm các ứng dụng như "Excel CSV Importer" hoặc các dịch vụ web như convertcsv.com , cho phép bạn tải lên tệp của mình, chọn mã hóa và tải xuống kết quả sẵn sàng để mở trong Excel.

Các công cụ này thường có giao diện trực quan đơn giản và cho phép bạn điều chỉnh các thông số như dấu phân cách, định dạng văn bản và mã hóa , lý tưởng cho những người cần giải pháp nhanh chóng mà không cần kiến ​​thức kỹ thuật nâng cao. Hơn nữa, một số công cụ cho phép xử lý hàng loạt để tiết kiệm thời gian nếu bạn có hàng chục hoặc hàng trăm tệp.