ฉันค่อนข้างมั่นใจว่านี่เป็นปัญหาการเข้ารหัส เทอร์มินัลของคุณอาจเป็น UTF-8 และไฟล์นั้นเป็น ISO นี่เป็นปัญหาใหม่เร็วเท่าที่ 16.04 ฉันคิดว่ามันอาจจะเกิดขึ้นใน 15.04 เช่นกัน แต่ฉันสามารถยืนยันได้ว่ามันไม่ได้อยู่ใน 12.04
ลองตรวจสอบเทอร์มินัลที่คุณใช้งานอยู่โดยพิมพ์ "locale" และคุณควรได้รับสิ่งนี้:
$ locale
LANG=en_US.UTF-8
LANGUAGE=en_US
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
จากนั้นพิมพ์ "ไฟล์" สำหรับแต่ละไฟล์ของคุณและตรวจสอบให้แน่ใจว่าตรงกับเทอร์มินัลของคุณ
ในบันทึกด้านข้างฉันได้รับปัญหาการเข้ารหัสจำนวนมากระหว่าง UTF-8 และ ISO ซึ่งไม่ควรเกิดขึ้นจริงใน 16.04
สิ่งที่ใช้ได้ผลสำหรับฉันคือการรัน iconv ในแต่ละไฟล์:
iconv -f ISO-8859-15 -t UTF-8 file_1.txt >file_1.tmp;
iconv -f ISO-8859-15 -t UTF-8 file_2.txt >file2.tmp;
mv file_1.tmp file_1.txt;
mv file_2.tmp file_2.txt;
meld file_1 file_2