คำถามติดแท็ก byte-order-mark



4
เขียนไปยังไฟล์ UTF-8 ใน Python
codecs.open functionฉันสับสนจริงๆด้วย เมื่อฉัน: file = codecs.open("temp", "w", "utf-8") file.write(codecs.BOM_UTF8) file.close() มันทำให้ฉันมีข้อผิดพลาด UnicodeDecodeError: ตัวแปลงสัญญาณ 'ascii' ไม่สามารถถอดรหัสไบต์ 0xef ในตำแหน่ง 0: ลำดับไม่อยู่ในช่วง (128) ถ้าฉันทำ: file = open("temp", "w") file.write(codecs.BOM_UTF8) file.close() มันใช้งานได้ดี คำถามคือทำไมวิธีแรกล้มเหลว และฉันจะแทรก bom ได้อย่างไร? หากวิธีที่สองเป็นวิธีที่ถูกต้องในการทำสิ่งที่ใช้codecs.open(filename, "w", "utf-8")?

30
ฉันจะส่งออก UTF-8 CSV ใน PHP ที่ Excel จะอ่านอย่างถูกต้องได้อย่างไร
ฉันมีสิ่งง่าย ๆ ที่เพิ่งเอาท์พุทบางอย่างในรูปแบบ CSV แต่มันต้องเป็น UTF-8 ฉันเปิดไฟล์นี้ใน TextEdit หรือ TextMate หรือ Dreamweaver และมันแสดงตัวอักษร UTF-8 อย่างถูกต้อง แต่ถ้าฉันเปิดมันใน Excel มันเป็นการทำสิ่งที่ไร้สาระแทน นี่คือสิ่งที่ฉันได้รับที่หัวหน้าเอกสารของฉัน: header("content-type:application/csv;charset=UTF-8"); header("Content-Disposition:attachment;filename=\"CHS.csv\""); ทั้งหมดนี้ดูเหมือนว่าจะมีผลที่ต้องการยกเว้น Excel (Mac, 2008) ไม่ต้องการนำเข้าอย่างถูกต้อง ไม่มีตัวเลือกใน Excel ให้ฉัน "เปิดเป็น UTF-8" หรืออะไรก็ได้ดังนั้น ... ฉันรู้สึกรำคาญเล็กน้อย ฉันไม่สามารถหาคำตอบที่ชัดเจนเกี่ยวกับเรื่องนี้ได้ทุกที่แม้จะมีคนจำนวนมากที่มีปัญหาเดียวกัน สิ่งที่ฉันเห็นมากที่สุดคือการรวม BOM แต่ฉันไม่สามารถหาวิธีที่จะทำ อย่างที่คุณเห็นด้านบนฉันแค่echoดึงข้อมูลนี้ฉันไม่ได้เขียนไฟล์ใด ๆ ฉันสามารถทำได้ถ้าฉันต้องการฉันไม่เพียงเพราะดูเหมือนจะไม่ต้องการในตอนนี้ ความช่วยเหลือใด ๆ อัปเดต: ฉันพยายามสะท้อน BOM echo pack("CCC", 0xef, 0xbb, …

10
UTF-8 ที่ไม่มี BOM
ฉันมีไฟล์จาวาสคริปต์ที่ฉันต้องการให้บันทึกใน UTF-8 (ไม่มี BOM) ทุกครั้งที่ฉันแปลงเป็นรูปแบบที่ถูกต้องในNotepad ++พวกเขาจะถูกเปลี่ยนกลับเป็น UTF-8 พร้อม BOM เมื่อฉันเปิดใน Visual Studio ฉันจะหยุด VS2010 ไม่ให้ทำเช่นนั้นได้อย่างไร คำถามอื่นคือ UTF-8 ที่ไม่มีลายเซ็นใน Visual Studio เหมือนกับ UTF-8 ที่ไม่มี BOM หรือไม่

22
ฉันจะลบจากจุดเริ่มต้นของไฟล์ได้อย่างไร
ฉันมีไฟล์ CSS ที่ดูดีเมื่อฉันเปิดมันโดยใช้geditแต่เมื่อมันถูกอ่านโดย PHP (เพื่อรวมไฟล์ CSS ทั้งหมดไว้ในไฟล์เดียว) CSS นี้มีตัวอักษรต่อไปนี้ที่เสริมไว้:  PHP ลบช่องว่างทั้งหมดดังนั้นการสุ่มที่อยู่ตรงกลางของโค้ดทำให้เกิดความวุ่นวายขึ้น ดังที่ฉันได้กล่าวไปแล้วฉันไม่สามารถเห็นตัวละครเหล่านี้ได้เมื่อฉันเปิดไฟล์ด้วย gedit ดังนั้นฉันจึงไม่สามารถลบออกได้อย่างง่ายดาย ฉันพบปัญหาและเห็นได้ชัดว่ามีสิ่งผิดปกติเกิดขึ้นกับการเข้ารหัสไฟล์ซึ่งทำให้รู้สึกว่าฉันเปลี่ยนไฟล์ไปยังเซิร์ฟเวอร์ Linux / Windows ที่แตกต่างกันผ่านทาง ftp และrsyncพร้อมโปรแกรมแก้ไขข้อความ ฉันไม่รู้เกี่ยวกับการเข้ารหัสอักขระมากนักดังนั้นความช่วยเหลือจะได้รับการชื่นชม หากช่วยได้ไฟล์จะถูกบันทึกในรูปแบบ UTF-8 และ gedit จะไม่ให้ฉันบันทึกในรูปแบบ ISO-8859-15 (เอกสารมีอักขระอย่างน้อยหนึ่งตัวที่ไม่สามารถเข้ารหัสโดยใช้การเข้ารหัสอักขระที่ระบุ) ฉันพยายามบันทึกด้วยปลาย Windows และ Linux แต่ก็ไม่ได้ช่วยอะไร

9
เขียนไฟล์ข้อความโดยไม่มี Byte Order Mark (BOM)?
ฉันกำลังพยายามสร้างไฟล์ข้อความโดยใช้ VB.Net ด้วยการเข้ารหัส UTF8 โดยไม่มี BOM ใครสามารถช่วยฉันทำอย่างไร ฉันสามารถเขียนไฟล์ด้วยการเข้ารหัส UTF8 แต่จะลบ Byte Order Mark ออกจากไฟล์ได้อย่างไร แก้ไข 1: ฉันได้ลองใช้รหัสแบบนี้แล้ว Dim utf8 As New UTF8Encoding() Dim utf8EmitBOM As New UTF8Encoding(True) Dim strW As New StreamWriter("c:\temp\bom\1.html", True, utf8EmitBOM) strW.Write(utf8EmitBOM.GetPreamble()) strW.WriteLine("hi there") strW.Close() Dim strw2 As New StreamWriter("c:\temp\bom\2.html", True, utf8) strw2.Write(utf8.GetPreamble()) strw2.WriteLine("hi there") strw2.Close() 1.html …

8
ลำดับไบต์ทำเครื่องหมายการอ่านไฟล์ใน Java
ฉันพยายามอ่านไฟล์ CSV โดยใช้ Java ไฟล์บางไฟล์อาจมีเครื่องหมายลำดับไบต์ในตอนต้น แต่ไม่ใช่ทั้งหมด เมื่อมีอยู่คำสั่งไบต์จะถูกอ่านพร้อมกับส่วนที่เหลือของบรรทัดแรกจึงทำให้เกิดปัญหากับการเปรียบเทียบสตริง มีวิธีง่ายๆในการข้ามเครื่องหมายลำดับไบต์เมื่อมีอยู่หรือไม่? ขอบคุณ!

5
ใช้ awk เพื่อลบเครื่องหมายลำดับไบต์
วิธีจะawkสคริปต์ (สันนิษฐานหนึ่งซับ) ถอดBOMมีลักษณะเหมือน? ข้อมูลจำเพาะ: พิมพ์ทุกบรรทัดหลังจากแรก ( NR > 1) สำหรับบรรทัดแรก: หากขึ้นต้นด้วย#FE #FFหรือ#FF #FEให้ลบออกและพิมพ์ส่วนที่เหลือ

4
ตั้งค่าการเข้ารหัสไฟล์เป็น UTF8 ด้วย BOM ใน Sublime Text 3
เมื่อฉันเปิดไฟล์ใน Sublime Text 3 ที่ด้านล่างฉันมีตัวเลือกให้ตั้งค่าการเข้ารหัสอักขระดังที่แสดงในภาพหน้าจอ มีตัวเลือกในการตั้งค่าเป็นUTF-8ซึ่งหลังจากทำการวิจัยบางอย่างหมายถึง UTF-8 ไม่มี BOM แต่ฉันต้องการตั้งค่าเป็นUTF-8 ด้วย BOMดังที่แสดงด้านล่าง: ฉันจะทำสิ่งนี้จากภายใน ST3 ได้อย่างไร?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.