ฉันกำลังเข้าถึงคอมพิวเตอร์ระยะไกลโดยใช้ ssh และใช้คำสั่ง bash เพื่อใส่สัญลักษณ์โดยใช้สตรีมอินพุตมาตรฐาน:
อ่านการทดสอบ echo $ test
การป้อนตัวอักษรภาษาอังกฤษและใช้ backspace เพื่อลบออกจากนั้นจึงป้อนตัวอักษรอื่น ๆ แล้ววนซ้ำขั้นตอนนี้ทุกครั้ง แต่มันกลายเป็นหายนะเมื่อฉันใช้สัญลักษณ์ utf-8 อื่น ๆ เช่นสัญลักษณ์รัสเซียซึ่งต้องใช้ 2 ไบต์แทน 1 เช่นที่คนอังกฤษใช้ เช่นฉันใส่:
абвгдежз
หลังจากนั้นฉันใช้ backspace 8 ครั้งแล้วใส่สัญลักษณ์อื่น ๆ :
привет
และกดปุ่ม Enter แต่แทนที่จะเป็นผลลัพธ์ที่จะเท่ากับข้อมูลล่าสุดของฉันฉันได้รับต่อไปนี้:
абвгпривет
ซึ่งหมายความว่า 8 backspace ลบเพียง 4 สัญลักษณ์
ฉันใช้ Linux linux ubuntu 12.04 พยายามใช้คอนโซลที่แตกต่าง: หนึ่งมาตรฐานเทอร์มินอล ตัวเลือก Backspace ประเภทต่างๆ (เช่น ASCII-del หรือ Ctrl + H) ตั้งค่า $ LC_TYPE เป็น ru_RU.UTF-8 แต่ไม่มีอะไรทำงาน ไม่มีปัญหาดังกล่าวโดยใช้คอนโซลท้องถิ่น ขอบคุณล่วงหน้า.
อัปเดต: ฉันยังมีวิดีโอของปัญหานี้โปรดดูได้ที่ youtube