เปลี่ยนการเข้ารหัสเริ่มต้นของ Excel เป็น UTF-8 หรือไม่


25

ฉันใช้เครื่องมือที่หลากหลายเพื่อเตรียมข้อมูลสำหรับเว็บเป็นประจำ ขั้นตอนเดียวกำหนดให้ฉันเปิด CSV ใน Excel ทำการเปลี่ยนแปลงและบันทึกไฟล์

มีวิธีบังคับให้ Excel ยอมรับการเข้ารหัส UTF-8 และบันทึกไฟล์ด้วยการเข้ารหัสนั้นหรือไม่


1
เพื่อชี้แจงฉันต้องการเปลี่ยนการตั้งค่าเพื่อให้ Excel ถือว่าไฟล์อินพุตเป็น UTF-8 ตามค่าเริ่มต้น ตามที่ระบุไว้ด้านล่าง LibreOffice / OpenOffice ทำสิ่งนี้
Dizzley

หากคุณไม่มีตัวอักษร Unicode ให้จัดการฉันจะลองใช้มิดเดิลแวร์เพื่อแปลง CSV ทั้งหมดเป็น ASCII แล้วเปิดใน Excel
Vassile

1
คำถามที่เกี่ยวข้องที่นี่แต่ไม่เหมือนกันทั้งหมด
hhh

คำตอบ:


15

ฉันตอบคำถามที่คล้ายกันที่การเข้ารหัสตัวอักษรเริ่มต้นสำหรับ Excel Text Wizard? .

ผมพบว่าคำตอบของฉันที่เปลี่ยนค่าเริ่มต้นข้อความประเภทการนำเข้าต้นกำเนิดใน Excel

  1. ในตัวแก้ไขรีจิสทรีให้ไปที่ HKEY_CURRENT_USER> ซอฟต์แวร์> Microsoft> สำนักงาน> [รุ่น Excel ที่นี่ซึ่งอาจเป็นจำนวนสูงสุดในโฟลเดอร์นี้]> Excel> ตัวเลือก
  2. คลิกขวาที่ด้านขวาแล้วไปที่ใหม่> DWORD
  3. ตั้งชื่อรายการ DefaultCPG และบันทึก
  4. คลิกขวาที่ DefaultCPG แล้วเลือก Modify
  5. ตั้งฐานเป็นทศนิยม
  6. ป้อนรหัสที่แสดงในตัวช่วยสร้าง Excel (สำหรับ UTF-8 คือ 65001)
  7. คลิกตกลง

เช่นเดียวกับ Vasille กล่าวในความคิดเห็นสำหรับคำถามนี้หากไฟล์ของคุณไม่ได้อยู่ในรูปแบบ UTF-8 คุณอาจต้องการแปลงอักขระภายในไฟล์เป็นรูปแบบการเข้ารหัสที่คุณต้องการก่อนเปิดใน Excel อย่างไรก็ตามสำหรับวัตถุประสงค์ของฉัน UTF-8 ทำงานได้ดีพอที่จะแสดงอักขระที่ไม่เสียหาย


3
มีเหตุผลใด ๆไม่ได้ทำเช่นนี้? เหตุใดจึงไม่เป็นพฤติกรรมเริ่มต้นของ Excel --- ทีมของฉันมักจะเกี่ยวข้องกับชุดข้อมูลที่มีตัวละครต่างประเทศและฉันสงสัยว่ามีเหตุผลใดที่จะไม่ทำการกระทำนี้กับเครื่องแต่ละเครื่องของเรา
user1318135

3
น่าเสียดายที่นี่ใช้ไม่ได้กับเครื่องของฉัน ไฟล์ยังคงเปิดอยู่พร้อมการเข้ารหัสเริ่มต้น (Win 7, Office 2016)
user1318135

8
ใช้งานไม่ได้กับฉัน Win 10 Office 2016
Phuah Yee Keat

2
ไม่มีลูกเต๋า Excel ทำงานอย่างโง่เขลาเช่นเคย หนึ่งคาดว่าจะมีคุณสมบัติที่ชัดเจนเช่นนี้เพื่อให้สามารถเข้าถึงได้ผ่านการตั้งค่าของผู้ใช้ในซอฟต์แวร์เป็นผู้ใหญ่เป็น Excel
Aaron Bramson

4

วิธีง่ายๆในการเปลี่ยนการเข้ารหัส excel ANSI เป็น UTF-8 คือการเปิดไฟล์. csv ในแผ่นจดบันทึกจากนั้นเลือกไฟล์> บันทึกเป็น ตอนนี้ที่ด้านล่างคุณจะเห็นการเข้ารหัสตั้งค่าเป็น ANSI เปลี่ยนเป็น UTF-8 และบันทึกไฟล์เป็นไฟล์ใหม่จากนั้นจึงทำ


ฉันจะทดลองกับสิ่งนี้ ปัญหาหนึ่งที่ฉันมีคือการเปิดไฟล์อย่างสม่ำเสมอในการเข้ารหัสที่ถูกต้องดังนั้นฉันจึงไม่ได้รับข้อมูลในการเข้ารหัสสองไฟล์ในไฟล์ผลลัพธ์เดียว จากนั้นจะแก้ไขได้ยาก ฉันหวังว่า Excel ช่วยให้ฉันมีวิธีที่ดีกว่าในการเลือกการเข้ารหัสไฟล์อินพุต
Dizzley

3

ดูเหมือนว่าByte Order Markนั้นต้องการซอฟต์แวร์ Microsoft Office

  1. ใช้ Notepad ++ แปลง CSV โดยใช้เมนู: การเข้ารหัส -> แปลงเป็น UTF8-BOM

  2. การใช้sedยูทิลิตี้ยูนิกซ์ที่มีอยู่ในcmderหรือGit สำหรับ Windows ดูเพิ่ม BOM ให้เป็น UTF-8 ไฟล์

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

  • ทดสอบกับ Excel 2016
  • นี่คือสิ่งที่มีความหมายของพวกเขาใน avwtp คำตอบ

2

คุณต้องใช้File > Importตัวเลือกและเริ่มต้นด้วยเอกสารเปล่าและระบุUTF-8

ป้อนคำอธิบายรูปภาพที่นี่

แต่มันก็ยังไม่เหมาะสมที่จะทำให้การตั้งค่าเริ่มต้นสำหรับไฟล์ทั้งหมดนั้นไม่จำเป็นต้องหมุนไฟล์รอบ ๆ Google Drive หรือ LibreOffice ค่าเริ่มต้นเป็นเพียงการเลือกที่ไม่ดีและความพิการในการเปลี่ยนแปลงที่น่ารำคาญ

ที่เกี่ยวข้อง

  1. วิธีการตั้งค่าการเข้ารหัสอักขระเมื่อเปิด Excelแต่ไม่พบตัวเลือกในการเปลี่ยนค่าเริ่มต้นเช่นว่าไฟล์ทั้งหมดจะถูกเปิดโดยอัตโนมัติด้วย UTF-8 แทนรูปแบบ Macintosh ใน OSX

  2. วิธีการเปลี่ยนตัวเลือกไฟล์เริ่มต้นเป็น UTF-8 ห่างจากตัวเลือกไฟล์ Macintoshใน Apple.SE


0

ฉันแก้ไขปัญหาที่คล้ายกันก่อน ไม่สำเร็จ แต่คุณสามารถใช้LibreOfficeซึ่งเป็นค่าเริ่มต้น UTF-8


LibreOffice มีประโยชน์มากสำหรับสิ่งนี้ อย่างไรก็ตามบางครั้งฉันมีมาโคร VBA ให้เรียกใช้ ขอบคุณ Lluser
Dizzley

0

มีส่วนเสริมของ Excel ที่นี่เพื่อทำงานกับไฟล์ Unicode CSV ที่จะช่วยคุณได้

นี่คือหมายเหตุผู้พัฒนา Jaimon Mathew:

Excel ถือว่าไฟล์. csv เป็นไฟล์ข้อความและจะแทนที่อักขระ Unicode ทั้งหมดด้วย“?” เมื่อบันทึกตามปกติ หากคุณต้องการรักษาอักขระ Unicode คุณจะต้องบันทึกไฟล์เป็น“ Unicode text (* .txt)” ซึ่งเป็นไฟล์ที่คั่นด้วย Tab เนื่องจากฉันไม่พบโซลูชันที่มีอยู่เพื่อรักษาอักขระ Unicode ในรูปแบบ CSV ฉันคิดว่าฉันจะลองสร้าง Excel Addin เพื่อทำสิ่งนั้น

1


0

มันไม่ใช่ทางออกที่ดีที่สุด แต่เป็นตัวเลือก: อัปโหลดไฟล์ Excel ของคุณไปยังไดรฟ์ Google เปิดด้วย Google Tab และดาวน์โหลดเป็นไฟล์ csv มันใช้งานได้สำหรับฉัน


5
นี่ไม่ได้ตอบคำถามว่าจะเปลี่ยนการเข้ารหัสของเอกสาร Excel ได้อย่างไร
Ramhound

แน่นอนเมื่อคุณเปิด CSV ใน Excel คุณจะสูญเสียการจัดรูปแบบเซลล์ดังนั้นสตริง ID ตัวเลขจะถูกแปลงเป็นจำนวนเต็ม
Dizzley

0

สมมติว่าคุณมียูนิกซ์เชลล์ (Cygwin) ฉันผนวกที่ด้านหน้าของไฟล์ csv เพียงเล็กน้อยรหัสอักขระยูนิโค้ด 3 ตัว (UTF-8) จากนั้นมันจะอ่านได้ดีใน Excel และที่สำคัญกว่านั้นจะถูกประมวลผลอย่างถูกต้องเป็นอินพุตโดยใช้ VB Excel ระบบอัตโนมัติ

UTF-8.txt

EFBBBF << hex แก้ไขเป็นไฟล์ถ่าน 3 ตัว

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


1
(1) คุณสามารถอธิบายได้ว่าทำงานได้อย่างไร? (2) คุณสามารถอธิบายว่าวิธีการสร้างUTF-8.txtไฟล์?
สกอตต์

ฉันแนะนำให้ใช้ตัวแก้ไข hex และพิมพ์ตามลำดับตัวอักษร 3 ตัว ทำไมมันถึงได้ผล ฉันหาวิธีแก้ปัญหานี้โดยการใช้ไฟล์ UTF-8 csv ที่มีอยู่เปลี่ยนชื่อเป็น txt นำเข้ามาใน Excel (เช่นที่แนะนำในเธรดอื่น ๆ ) บันทึกเป็น CSV ด้วยปลั๊กอิน Unicode (เธรดอื่น) จากนั้นทำไบนารีที่แตกต่างกัน ของทั้งสองไฟล์ ข้อแตกต่างเพียงอย่างเดียวคือลำดับการเริ่มต้น 3 ตัวอักษร
avwtp

ดูหัวข้อนี้ทำไมมันทำงาน [link] ( stackoverflow.com/questions/6002256/ … )
avwtp
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.