iconv ไม่สามารถแปลงระหว่าง CP1256 -t ISO-8859-6


2

ฉันพยายามแปลงจาก CP1256 เป็น ISO-8859-6 โดยใช้ Sygwin แต่ไม่สามารถแปลงได้!

และช่วย

$ iconv -f CP1256 -t ISO-8859-6 cca.txt > cca1.txt

iconv: cca.txt:791:41: cannot convert

ผลลัพธ์ของ sed -n '791p' cca.txt | od -c

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


กรุณาโพสต์ผลลัพธ์ของคำสั่งนี้:sed -n '791p' cca.txt | od -c
jlliagre

คำตอบ:


3

หากคุณดูแผนที่อักขระสำหรับWindows-1256และISO-8859-6คุณจะเห็นว่า 1256 มีอักขระทุกจุด แต่ 8859-6 มีช่องว่างจำนวนมาก ดังนั้นเมื่อแปลงหากมีตัวละครที่ไม่ได้อยู่ในการเข้ารหัสเป้าหมายiconvจะบ่น

iconvคุณอาจใช้-cตัวเลือกและอักขระที่ไม่สามารถแปลงได้จะถูกทิ้งทั้งนี้ขึ้นอยู่กับเวอร์ชันของคุณ หรือคุณสามารถใช้บางอย่างเช่น--unicode-subst="@"ซึ่งจะแทนที่อักขระที่ไม่ถูกต้องด้วย@ซึ่งแปลงสภาพได้ โปรดทราบว่ามีความยืดหยุ่นค่อนข้างน้อยด้วยการทดแทนดังกล่าวรวมถึงการขยาย (เช่น"[%u]"จะแปลงเป็นค่า Unicode ในวงเล็บ)

หาก Cygwin ไม่มีตัวเลือกเหล่านี้คุณสามารถลอง Linux หรือ Mac OS X ล่าสุด

ไม่ว่าในกรณีใดไฟล์ที่ได้จะต้องมีตัวอักษรที่อยู่ใน ISO-8859-6 เท่านั้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.