TextMate ไม่บันทึกไฟล์ใน UTF-8


1

ฉันตั้งค่า prefs ของฉันให้บันทึกไฟล์เป็น UTF-8 (ค่าเริ่มต้น) แต่ฉันสังเกตว่าไฟล์ของฉันไม่ใช่ UTF-8 แต่เป็น US-ASCII

ด้วยไฟล์ที่สร้างขึ้นใหม่ของฉัน:

file -I myfile

=> myfile: text/plain; charset=us-ascii

สิ่งที่ช่วยให้?

คำตอบ:


4

ฉันไม่ใช่ผู้เชี่ยวชาญในฟิลด์นี้ แต่ฉันเชื่อว่านี่คือเหตุผลที่คุณบันทึกไฟล์ทดสอบของคุณด้วยอักขระ ASCII เท่านั้น เมื่อใช้เฉพาะอักขระ ASCII UTF-8 ก็แยกไม่ออก เมื่อคุณเริ่มใช้อักขระที่อยู่นอกขอบเขต ASCII (เช่นการเน้นเสียงในภาษาอื่นเช่นąśćżในภาษาโปแลนด์) ความแตกต่างนั้นเป็นสิ่งที่สังเกตไม่ได้

ลองคัดลอกและวางอักขระที่ฉันใช้เป็นตัวอย่างบันทึกไฟล์ของคุณอีกครั้งและทดสอบ


คุณถูกต้องเมื่อฉันรวมบางตัวอักษรที่ไม่ใช่ ASCII แล้ว TextMate จะบันทึกเป็น UTF-8 ขอบคุณ!

@Plenilune: หากคำตอบของ @Michal M เหมาะกับคุณแล้วโปรดยอมรับมันเพื่อที่เขาจะได้รับเครดิต
Philip Regan

ฉันมีปัญหาเดียวกันทุกประการ ฉันคิดว่าประเด็นหลักคือ TextMate กำลังบันทึกไฟล์ใน ASCII แต่ควรบันทึกไฟล์ใน UTF-8 (แม้จะมีแค่ ASCII chars อยู่) และฉันขอโทษ แต่อะไรคือคำตอบของคุณที่นี่? เขียนตัวอักษรแบบ ASCII ในทุกไฟล์เพื่อให้ TextMate เขียนไฟล์เป็น UTF-8 หรือไม่
Hade

ไม่คุณไม่ต้องใส่ตัวอักษรที่ไม่ใช่ ASCII เพื่อให้ไฟล์ถูกบันทึกใน UTF-8 คำตอบคือ - หากไฟล์ไม่มีตัวอักษรที่ไม่ใช่ ASCII จะไม่สามารถแยกได้จาก ASCII ดังนั้นจึงสามารถรับรู้ได้ว่าเป็นไฟล์ที่เข้ารหัส ASCII แม้ว่าจะถูกบันทึกเป็น UTF-8
Michal M

ขอขอบคุณสำหรับการชี้แจง. มีอีกไม่กี่อย่าง เมื่อเร็ว ๆ นี้ฉันได้ทำการเข้ารหัสด้วย Ruby 1.9.2 และมันค่อนข้างเข้มงวดเมื่อพูดถึงการเข้ารหัส ดังนั้นไฟล์ของฉันจะต้องตรงกับ UTF-8 ฉันได้ตั้งค่า TextMate เพื่อบันทึกไฟล์ของฉันใน UTF-8 หากฉันเขียนเฉพาะ ASCII chars และ save => "file myfile" จะให้ ASCII แก่ฉัน และเมื่อฉันเขียนตัวอักษร none-ASCII และ save => "file myfile" จะให้ UTF-8 แก่ฉัน นี่คือปัญหา ฉันต้องการบันทึกไฟล์ทั้งหมดของฉันเป็น UTF-8 ไม่ว่าจะมีเนื้อหาใด ฉันหวังว่าคุณจะเข้าใจฉัน;)
Hade
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.