ฉันใช้เครื่องมือที่หลากหลายเพื่อเตรียมข้อมูลสำหรับเว็บเป็นประจำ ขั้นตอนเดียวกำหนดให้ฉันเปิด CSV ใน Excel ทำการเปลี่ยนแปลงและบันทึกไฟล์
มีวิธีบังคับให้ Excel ยอมรับการเข้ารหัส UTF-8 และบันทึกไฟล์ด้วยการเข้ารหัสนั้นหรือไม่
ฉันใช้เครื่องมือที่หลากหลายเพื่อเตรียมข้อมูลสำหรับเว็บเป็นประจำ ขั้นตอนเดียวกำหนดให้ฉันเปิด CSV ใน Excel ทำการเปลี่ยนแปลงและบันทึกไฟล์
มีวิธีบังคับให้ Excel ยอมรับการเข้ารหัส UTF-8 และบันทึกไฟล์ด้วยการเข้ารหัสนั้นหรือไม่
คำตอบ:
ฉันตอบคำถามที่คล้ายกันที่การเข้ารหัสตัวอักษรเริ่มต้นสำหรับ Excel Text Wizard? .
ผมพบว่าคำตอบของฉันที่เปลี่ยนค่าเริ่มต้นข้อความประเภทการนำเข้าต้นกำเนิดใน Excel
เช่นเดียวกับ Vasille กล่าวในความคิดเห็นสำหรับคำถามนี้หากไฟล์ของคุณไม่ได้อยู่ในรูปแบบ UTF-8 คุณอาจต้องการแปลงอักขระภายในไฟล์เป็นรูปแบบการเข้ารหัสที่คุณต้องการก่อนเปิดใน Excel อย่างไรก็ตามสำหรับวัตถุประสงค์ของฉัน UTF-8 ทำงานได้ดีพอที่จะแสดงอักขระที่ไม่เสียหาย
วิธีง่ายๆในการเปลี่ยนการเข้ารหัส excel ANSI เป็น UTF-8 คือการเปิดไฟล์. csv ในแผ่นจดบันทึกจากนั้นเลือกไฟล์> บันทึกเป็น ตอนนี้ที่ด้านล่างคุณจะเห็นการเข้ารหัสตั้งค่าเป็น ANSI เปลี่ยนเป็น UTF-8 และบันทึกไฟล์เป็นไฟล์ใหม่จากนั้นจึงทำ
ดูเหมือนว่าByte Order Markนั้นต้องการซอฟต์แวร์ Microsoft Office
ใช้ Notepad ++ แปลง CSV โดยใช้เมนู: การเข้ารหัส -> แปลงเป็น UTF8-BOM
การใช้sed
ยูทิลิตี้ยูนิกซ์ที่มีอยู่ในcmderหรือGit สำหรับ Windows ดูเพิ่ม BOM ให้เป็น UTF-8 ไฟล์
sed -i '1s/^/\xef\xbb\xbf/' file.csv
คุณต้องใช้File > Import
ตัวเลือกและเริ่มต้นด้วยเอกสารเปล่าและระบุUTF-8
แต่มันก็ยังไม่เหมาะสมที่จะทำให้การตั้งค่าเริ่มต้นสำหรับไฟล์ทั้งหมดนั้นไม่จำเป็นต้องหมุนไฟล์รอบ ๆ Google Drive หรือ LibreOffice ค่าเริ่มต้นเป็นเพียงการเลือกที่ไม่ดีและความพิการในการเปลี่ยนแปลงที่น่ารำคาญ
ที่เกี่ยวข้อง
วิธีการตั้งค่าการเข้ารหัสอักขระเมื่อเปิด Excelแต่ไม่พบตัวเลือกในการเปลี่ยนค่าเริ่มต้นเช่นว่าไฟล์ทั้งหมดจะถูกเปิดโดยอัตโนมัติด้วย UTF-8 แทนรูปแบบ Macintosh ใน OSX
วิธีการเปลี่ยนตัวเลือกไฟล์เริ่มต้นเป็น UTF-8 ห่างจากตัวเลือกไฟล์ Macintoshใน Apple.SE
ฉันแก้ไขปัญหาที่คล้ายกันก่อน ไม่สำเร็จ แต่คุณสามารถใช้LibreOfficeซึ่งเป็นค่าเริ่มต้น UTF-8
มีส่วนเสริมของ Excel ที่นี่เพื่อทำงานกับไฟล์ Unicode CSV ที่จะช่วยคุณได้
นี่คือหมายเหตุผู้พัฒนา Jaimon Mathew:
Excel ถือว่าไฟล์. csv เป็นไฟล์ข้อความและจะแทนที่อักขระ Unicode ทั้งหมดด้วย“?” เมื่อบันทึกตามปกติ หากคุณต้องการรักษาอักขระ Unicode คุณจะต้องบันทึกไฟล์เป็น“ Unicode text (* .txt)” ซึ่งเป็นไฟล์ที่คั่นด้วย Tab เนื่องจากฉันไม่พบโซลูชันที่มีอยู่เพื่อรักษาอักขระ Unicode ในรูปแบบ CSV ฉันคิดว่าฉันจะลองสร้าง Excel Addin เพื่อทำสิ่งนั้น
มันไม่ใช่ทางออกที่ดีที่สุด แต่เป็นตัวเลือก: อัปโหลดไฟล์ Excel ของคุณไปยังไดรฟ์ Google เปิดด้วย Google Tab และดาวน์โหลดเป็นไฟล์ csv มันใช้งานได้สำหรับฉัน
สมมติว่าคุณมียูนิกซ์เชลล์ (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
UTF-8.txt
ไฟล์?