Thay đổi mã hóa mặc định của Excel thành UTF-8?


24

Tôi đang sử dụng nhiều công cụ để thường xuyên chuẩn bị dữ liệu cho web. Một giai đoạn yêu cầu tôi mở CSV trong Excel, thay đổi và lưu tệp.

Có cách nào để buộc Excel chấp nhận mã hóa UTF-8 và lưu các tệp của nó với mã hóa đó không?


1
Để làm rõ, tôi muốn thay đổi cài đặt để Excel giả sử tệp đầu vào là UTF-8 theo mặc định. Như đã đề cập dưới đây, LibreOffice / OpenOffice thực hiện điều này.
Dizzley

Nếu bạn không thực sự có các ký tự Unicode để xử lý, tôi sẽ xem xét sử dụng phần mềm trung gian để chuyển đổi tất cả các CSV sang ASCII và sau đó mở trong Excel.
Chư hầu

1
Câu hỏi liên quan ở đây nhưng không hoàn toàn giống nhau.
hhh

Câu trả lời:


14

Tôi đã trả lời một câu hỏi tương tự tại Mã hóa ký tự mặc định cho Trình hướng dẫn văn bản Excel? .

Tôi đã tìm thấy câu trả lời của mình tại Thay đổi loại nguồn gốc nhập văn bản mặc định trong Excel .

  1. Trong trình chỉnh sửa sổ đăng ký, hãy truy cập HKEY_CURRENT_USER> Phần mềm> Microsoft> Office> [Phiên bản Excel tại đây có khả năng là số cao nhất trong thư mục này]> Excel> Tùy chọn
  2. nhấp chuột phải vào phía bên phải và đi đến Mới> DWORD
  3. đặt tên cho mục DefaultCPG và lưu
  4. nhấp chuột phải vào DefaultCPG và chọn Sửa đổi
  5. đặt cơ sở thành số thập phân
  6. nhập mã được hiển thị trong trình hướng dẫn Excel (đối với UTF-8, đó là 65001)
  7. nhấn OK

Giống như Vasille nói trong bình luận cho câu hỏi này, nếu tệp của bạn không thực sự ở định dạng UTF-8, về mặt kỹ thuật bạn có thể muốn chuyển đổi các ký tự trong tệp thành mã hóa bạn muốn trước khi mở trong Excel. Tuy nhiên, đối với mục đích của tôi, UTF-8 thực hiện công việc đủ tốt để hiển thị các ký tự không bị hỏng.


3
Có bất kỳ lý do không thực hiện điều này? Tại sao đây không phải là hành vi mặc định của Excel? --- Nhóm của tôi thường xử lý các bộ dữ liệu có chứa các ký tự nước ngoài và tôi tự hỏi liệu có lý do nào để không thực hiện hành động này trên mỗi máy của chúng tôi không.
dùng1318135

3
Điều này không may không hoạt động trên máy của tôi. Các tệp vẫn mở với mã hóa mặc định (Win 7, Office 2016).
dùng1318135

8
Không hoạt động với tôi, Win 10 Office 2016
Phuah Yee Keat

2
Không có con xúc xắc. Excel hành xử ngu ngốc như mọi khi. Người ta sẽ mong đợi một tính năng rõ ràng như thế này có thể truy cập được thông qua tùy chọn người dùng trong phần mềm hoàn thiện như Excel.
Aaron Bramson

4

Một cách dễ dàng để thay đổi mã hóa excel ANSI thành UTF-8 là mở tệp .csv trong notepad rồi chọn Tệp> Lưu dưới dạng. Bây giờ ở phía dưới, bạn sẽ thấy mã hóa được đặt thành ANSI, thay đổi nó thành UTF-8 và lưu tệp dưới dạng tệp mới và sau đó bạn đã hoàn tất.


Tôi sẽ thử nghiệm điều này. Một vấn đề tôi gặp phải là mở các tệp một cách nhất quán trong mã hóa chính xác để tôi không nhận được dữ liệu theo hai bảng mã trong một tệp kết quả. Sau đó, nó trở nên khó để sửa chữa. Tôi thực sự muốn Excel cho phép tôi cách tốt hơn để chọn mã hóa tệp đầu vào.
Dizzley

3

Có vẻ như Byte Order Mark được yêu cầu bởi phần mềm Microsoft Office.

  1. Sử dụng Notepad ++, chuyển đổi CSV bằng menu: Mã hóa -> Chuyển đổi sang UTF8-BOM.

  2. Sử dụng sedtiện ích Unix, có sẵn trong cmder hoặc Git cho Windows . Xem Thêm BOM vào tệp UTF-8 .

    sed -i '1s/^/\xef\xbb\xbf/' file.csv
    

  • Đã thử nghiệm với Excel 2016
  • Đây là những gì avwtp có nghĩa trong câu trả lời của họ .

2

Bạn cần sử dụng File > Importtùy chọn và bắt đầu với tài liệu trống và chỉ địnhUTF-8

nhập mô tả hình ảnh ở đây

nhưng điều này là không tối ưu để biến đây thành một cài đặt mặc định cho tất cả các tệp, dù sao cũng không cần thiết phải xoay các tệp xung quanh Google Drive hoặc LibreOffice. Mặc định chỉ là lựa chọn tồi và khuyết tật để thay đổi gây khó chịu.

Liên quan

  1. Cách đặt mã hóa ký tự khi mở Excel nhưng không tìm thấy tùy chọn thay đổi mặc định sao cho tất cả các tệp được tự động mở bằng UTF-8 thay vì định dạng Macintosh trong OSX

  2. Cách thay đổi tùy chọn tệp mặc định thành UTF-8 khỏi tùy chọn tệp Macintosh trong Apple.SE.


0

Tôi đã giải quyết vấn đề tương tự trước đây. Không thành công, nhưng bạn có thể sử dụng LibreScript , mặc định là UTF-8.


LibreOffice rất tiện dụng cho việc này. Tuy nhiên, đôi khi tôi có các macro VBA để chạy. Cảm ơn Lluser
Dizzley

0

Có một addin Excel có sẵn ở đây để làm việc với các tệp Unicode CSV sẽ giúp bạn.

Đây là ghi chú của nhà phát triển Jaimon Mathew:

Excel coi các tệp .csv dưới dạng tệp văn bản và sẽ thay thế tất cả các ký tự Unicode bằng cách sử dụng? Nếu bạn muốn giữ các ký tự Unicode, bạn sẽ cần lưu tệp dưới dạng văn bản Unicode Unicode (* .txt), đây là một tệp được phân tách bằng Tab. Vì tôi không thể tìm thấy bất kỳ giải pháp hiện có nào để bảo toàn các ký tự Unicode ở định dạng CSV, tôi nghĩ rằng tôi sẽ thử sử dụng Excel Addin để làm điều đó.

1


0

Đây không phải là giải pháp tốt nhất, nhưng đó là một tùy chọn: tải tệp Excel của bạn lên ổ Google, mở tệp đó bằng Google Tab và tải xuống dưới dạng tệp csv. Nó làm việc cho tôi.


5
Điều này không trả lời câu hỏi làm thế nào để thay đổi mã hóa tài liệu Excel.
Ramhound

Tất nhiên, khi bạn mở CSV trong Excel, bạn sẽ mất định dạng ô để một số chuỗi ID số được chuyển đổi thành số nguyên.
Dizzley

0

Giả sử bạn có sẵn một vỏ unix (Cygwin), tôi nối vào phía trước tệp csv một ít ID char unicode 3 (UTF-8) và sau đó nó đọc tốt vào Excel và quan trọng hơn là nó được xử lý đúng như đầu vào bằng VB Excel tự động hóa.

UTF-8.txt

EFBBBF << hex chỉnh sửa thành một tệp 3 char.

mèo UTF-8.txt tệp để sử dụng.csv> new_file.csv


1
(1) Bạn có thể mô tả làm thế nào / tại sao điều này hoạt động? (2) Bạn có thể mô tả chính xác cách tạo UTF-8.txttập tin này không?
Scott

Tôi đề nghị sử dụng trình soạn thảo hex và gõ theo chuỗi 3 ký tự. Tại sao nó hoạt động, không có ý tưởng. Tôi đã tìm ra giải pháp này bằng cách lấy tệp csv UTF-8 hiện có, đổi tên thành txt, nhập nó vào Excel (như được đề xuất trong các luồng khác), lưu nó dưới dạng CSV bằng plugin Unicode (luồng khác) và sau đó thực hiện một nhị phân khác của hai tập tin. Sự khác biệt duy nhất là chuỗi 3 ký tự bắt đầu.
avwtp

Xem chủ đề này tại sao nó hoạt động [link] ( stackoverflow.com/questions/6002256/
triệt
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.