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

Nhiều lần, người làm việc với dữ liệu gặp phải cùng một vấn đề: Excel hiển thị không đúng các ký tự đặc biệt khi mở tệp CSV được tạo bằng UTF-8. Nó gần như là một tác phẩm kinh điển, đặc biệt là khi xử lý tên, họ hoặc mô tả đa ngôn ngữ bao gồm các chữ cái có dấu, ñ, cedillas hoặc thậm chí là bảng chữ cái Kirin hoặc Hy Lạp. Thay vì nhìn thấy các dấu và biểu tượng đúng, các ký tự lạ, dấu chấm hỏi hoặc ô trống sẽ xuất hiện, có thể dẫn đến hiểu sai và trình bày dữ liệu kém.

Sự cố này không chỉ ảnh hưởng đến người dùng nâng cao 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 CSV theo định dạng UTF-8. Vấn đề chính là Excel, theo mặc định, không giải thích 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ư đây là một vấn đề nhỏ, ép buộc Việc 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 thông tin.

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à trong các phiên bản trước, 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 chúng ta 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 (mặc định không phổ biến trong các hệ thống Cửa sổ), 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à định dạng CSV, mặc dù đơn giản và phổ biến, nhưng lại không mang theo thông tin về mã hóa của nó.. Do đó, trong khi các ứng dụng khác như Google Sheets sử dụng UTF-8, Excel sử dụng mã hóa cục bộ như ANSI, Windows-1252 hoặc ISO-8859, dẫn đến sự cố với dấu ngã, dấu eñe và các ký tự đặc biệt khác.

  Lỗi 0x8007066F: nguyên nhân, mối liên hệ với Office và cách khắc phục.

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 bạn buộc diễn giải chính xác các tệp CSV theo UTF-8 từ Excel. mà không cần dùng đến 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à các tùy chọn thiết thực nhất, đã được người dùng và chuyên gia kiểm tra.

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ễ tiếp cận 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 chỉ định mã hóa thủ công 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à dễ dàng, đảm bảo hiển thị chính xác các dấu trọng âm, dấu eñes 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 xác nhận là sử dụng Power Query, một công cụ được tích hợp vào Excel kể 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 bạn dễ dàng dọn dẹp và chuyển đổi dữ liệu trước khi đưa 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 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ế được người dùng báo cáo 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 tệp CSV ở định dạng UTF-8.Trong những trường hợp như vậy, có thể sử dụng các công cụ dành riêng cho hệ thống để chuyển đổi tệp.

  Cách thay đổi thư mục tải xuống mặc định trong Windows và các trình duyệt phổ biế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 “CSV UTF-8 (phân cách bằng dấu phẩy)” khi lưu, đồng thời nó cũng nhanh và không yêu cầu ứng dụng bổ sung.Tuy nhiên, tránh sửa đổi tệp CSV kết quả trong Excel vì nó có thể làm mất mã hóa UTF-8 một lần nữa.

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 tệp CSV hoặc muốn tự động hóa toàn bộ quy trình để tránh lỗi của con người, có một số tùy chọn thông qua tập lệnh và macro.. Đối với cả những người có chuyên môn kỹ thuật và những người cần hiệu quả trong quy trình làm việc, các giải pháp thay thế này là lý tưởng.

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 từ 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)

Bằng cách này, bạn có thể đảm bảo rằng tất cả các cột và ký tự vẫn còn nguyên vẹn. khi chuyển đổi sang định dạng Excel. Ngoài ra, tính năng tự động hóa cho phép bạn quản lý nhiều tệp hoặc tích hợp chúng 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 trong Visual Basic for Applications (VBA) để tự động hóa quá trình nhập trong khi vẫn tôn trọng mã hóa.Một ví dụ đơn giản là:

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

Tính năng này cho phép bạn xác định mã hóa, ký tự phân cách và đưa nội dung đã làm sạch trực tiếp vào bảng tính..

  Cách tắt đèn bàn phím trong Windows và điều chỉnh độ sáng của đèn

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

PowerShell là một công cụ hữu ích khác dành cho người dùng Windows khi cần xử lý và chuyển đổi tệp bằng tập lệnh.Một ví dụ về trình tự 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()

Tính năng này cực kỳ hữu ích khi tự động xử lý hàng loạt tệp hoặc tích hợp 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 các tập lệnh hoặc macro, có các công cụ của bên thứ ba và trình chuyển đổi trực tuyến giúp bạn dễ dàng chuyển đổi UTF-8 CSV sang các định dạng tương thích với Excel.. Một số ví dụ bao gồm các ứng dụng như "Excel CSV Importer" hoặc các dịch vụ web như converttcsv.com, cho phép bạn tải tệp lên, chọn mã hóa và tải xuống kết quả để 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., khiến chúng trở nên 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. Thêm vào đó, một số 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.