Ubah penyandian default Excel ke UTF-8?

24

Saya menggunakan berbagai alat untuk secara teratur menyiapkan data untuk web. Satu tahap mengharuskan saya untuk membuka CSV di Excel, membuat perubahan dan menyimpan file.

Apakah ada cara untuk memaksa Excel untuk menerima pengkodean UTF-8, dan untuk menyimpan file-nya dengan pengkodean itu?

Dizzley
sumber
1
Untuk memperjelas, saya ingin mengubah pengaturan sehingga Excel menganggap file input adalah UTF-8 secara default. Seperti yang disebutkan di bawah ini, LibreOffice / OpenOffice melakukan ini.
Dizzley
Jika Anda tidak benar-benar memiliki karakter Unicode untuk ditangani, saya akan mempertimbangkan menggunakan middleware untuk mengubah semua CSV menjadi ASCII dan kemudian buka di Excel.
Vassile
1
Pertanyaan terkait di sini tetapi tidak persis sama.
hhh

Jawaban:

15

Saya menjawab pertanyaan serupa di pengkodean karakter Default untuk Excel Text Wizard? .

Saya menemukan jawaban saya di Mengubah jenis asal impor teks default di Excel .

  1. Di editor registri, buka HKEY_CURRENT_USER> Perangkat Lunak> Microsoft> Office> [Versi Excel di sini — kemungkinan jumlah tertinggi di folder ini]> Excel> Opsi
  2. klik kanan di sisi kanan dan pergi ke New> DWORD
  3. beri nama item DefaultCPG, dan simpan
  4. klik kanan pada DefaultCPG dan pilih Ubah
  5. atur basis menjadi desimal
  6. masukkan kode yang ditampilkan dalam panduan Excel (untuk UTF-8, ini 65001)
  7. klik OK.

Seperti yang dikatakan Vasille dalam komentar untuk pertanyaan ini, jika file Anda tidak benar-benar dalam format UTF-8, Anda mungkin ingin secara teknis mengonversi karakter di dalam file ke pengkodean yang Anda inginkan sebelum membuka di Excel. Namun, untuk tujuan saya, UTF-8 melakukan pekerjaan yang cukup baik dalam menampilkan karakter yang tidak rusak.

Robert H.
sumber
3
Apakah ada alasan untuk tidak melakukan ini? Mengapa ini bukan perilaku default Excel? --- Tim saya sering berurusan dengan dataset yang berisi karakter asing, dan saya bertanya-tanya apakah ada alasan untuk tidak melakukan tindakan ini pada masing-masing mesin kami.
user1318135
3
Sayangnya ini tidak berfungsi pada mesin saya. File masih terbuka dengan penyandian default (Win 7, Office 2016).
user1318135
8
Tidak bekerja pada saya juga, Menangkan 10 Office 2016
Phuah Yee Keat
2
Tidak ada dadu. Excel berperilaku sebodoh dulu. Orang akan mengharapkan fitur yang jelas seperti ini dapat diakses melalui preferensi pengguna dalam perangkat lunak setua Excel.
Aaron Bramson
4

Salah satu cara mudah untuk mengubah pengkodean ANSI excel ke UTF-8 adalah membuka file .csv di notepad lalu pilih File> Save As. Sekarang di bagian bawah Anda akan melihat pengkodeannya diatur ke ANSI mengubahnya ke UTF-8 dan menyimpan file sebagai file baru dan kemudian selesai.

Moudiz
sumber
Saya akan bereksperimen dengan ini. Satu masalah yang saya miliki adalah membuka file secara konsisten dalam pengkodean yang benar sehingga saya tidak mendapatkan data dalam dua pengkodean dalam file hasil tunggal. Maka menjadi sulit untuk diperbaiki. Saya benar-benar berharap Excel memberi saya cara yang lebih baik untuk memilih penyandian file input.
Dizzley
3

Tampaknya Byte Order Mark diperlukan oleh perangkat lunak Microsoft Office.

  1. Menggunakan Notepad ++, konversikan menu CSV using: Encoding -> Convert ke UTF8-BOM.

  2. Menggunakan sedutilitas Unix, tersedia dalam cmder atau Git untuk Windows . Lihat Menambahkan BOM ke file UTF-8 .

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

  • Diuji dengan Excel 2016
  • Inilah yang dimaksud avwtp dalam jawaban mereka .
Cristian
sumber
2

Anda perlu menggunakan File > Importopsi dan mulai dengan dokumen kosong dan tentukanUTF-8

masukkan deskripsi gambar di sini

tetapi ini masih jauh dari optimal untuk menjadikan ini pengaturan default untuk semua file, toh tidak perlu memutar file di sekitar Google Drive atau LibreOffice. Defaultnya hanya dipilih dengan buruk dan ketidakmampuan untuk mengubah yang menjengkelkan.

Terkait

  1. Cara mengatur pengkodean karakter saat membuka Excel tetapi tidak menemukan opsi untuk mengubah default sehingga semua file dibuka secara otomatis dengan UTF-8 alih-alih format Macintosh di OSX

  2. Cara mengubah opsi file default menjadi UTF-8 dari opsi file Macintosh di Apple.SE.

hhh
sumber
0

Saya memecahkan masalah serupa sebelumnya. Gagal, tetapi Anda bisa menggunakan LibreOffice , yang merupakan standar UTF-8.

Lluser
sumber
LibreOffice sangat berguna untuk ini. Namun, terkadang saya memiliki makro VBA untuk dijalankan. Terima kasih Lluser
Dizzley
0

Ada addin Excel yang tersedia di sini untuk bekerja dengan file CSV Unicode yang akan membantu Anda.

Berikut catatan pengembang Jaimon Mathew:

Excel memperlakukan file .csv sebagai file teks dan akan mengganti semua karakter Unicode dengan “?” Saat disimpan secara normal. Jika Anda ingin mempertahankan karakter Unicode, Anda harus menyimpan file tersebut sebagai "teks Unicode (* .txt)", yang merupakan file yang dibatasi Tab. Karena saya tidak dapat menemukan solusi yang ada untuk melestarikan karakter Unicode dalam format CSV, saya pikir saya akan mencobanya dalam membuat Addin Excel untuk melakukan hal itu.

1

Karan
sumber
0

Ini bukan solusi terbaik, tetapi ini opsi: unggah file Excel Anda ke Google drive, buka dengan Google Tabs dan unduh sebagai file csv. Itu berhasil untuk saya.

Viktor
sumber
5
Ini tidak menjawab pertanyaan bagaimana mengubah penyandian dokumen Excel.
Ramhound
Tentu saja, ketika Anda membuka CSV di Excel Anda kehilangan format sel sehingga beberapa string ID numerik dikonversi menjadi bilangan bulat.
Dizzley
0

Dengan anggapan Anda memiliki shell unix yang tersedia (Cygwin), saya menambahkan ke depan file csv 3 char ID unicode kecil (UTF-8) dan kemudian berbunyi dengan baik ke dalam Excel dan yang lebih penting itu diproses dengan baik sebagai input menggunakan VB Excel otomatisasi.

UTF-8.txt

EFBBBF << hex edit ke file 3 char.

cat UTF-8.txt file-to-use.csv> new_file.csv

avwtp
sumber
1
(1) Dapatkah Anda menjelaskan bagaimana / mengapa ini bekerja? (2) Dapatkah Anda menjelaskan dengan tepat bagaimana untuk membuat ini UTF-8.txtberkas?
Scott
Saya sarankan menggunakan hex editor dan mengetikkan urutan 3 karakter. Mengapa itu berhasil, tidak tahu. Saya menemukan solusi ini dengan mengambil file csv UTF-8 yang ada, mengubah nama menjadi txt, mengimpornya ke Excel (seperti yang disarankan di utas lain), menyimpannya sebagai CSV dengan plugin Unicode (utas lainnya) dan kemudian melakukan perbedaan biner dari dua file. Satu-satunya perbedaan adalah urutan awal 3 karakter.
avwtp
Lihat utas ini mengapa ini berhasil [tautan] ( stackoverflow.com/questions/6002256/… )
avwtp