Я получаю доступ к удаленному компьютеру с помощью ssh и запускаю команду bash для ввода символов с использованием стандартного потока ввода:
чтение теста; эхо $ тест
Можно вводить английские буквы и использовать клавишу Backspace для их удаления, затем вводить другие символы и повторять эти шаги любое количество раз. Но это становится катастрофой, когда я использую другие символы utf-8, такие как русские, которые требуют 2 байта вместо 1, как английские. Например, я ввожу:
абвгдежз
После этого я использую backspace 8 раз и вводю другие символы:
привет
И нажмите клавишу ввода. Но вместо результата, который будет равен моему последнему вводу, я получаю следующее:
абвгпривет
Это означает, что 8 Backspace удаляет только 4 символа.
Я использую Linux Ubuntu 12.04. Пробовал разные приставки: стандартная, терминатор; различные типы опций возврата (как ASCII-del или Ctrl+H); установка $ LC_TYPE в ru_RU.UTF-8, но ничего не работает. Нет такой проблемы с использованием локальной консоли. Заранее спасибо.
Обновление: у меня также есть видео этой проблемы, пожалуйста, смотрите его на YouTube