Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
unicode中的Python输入存在退格问题_Python_Linux_Ssh_Utf 8 - Fatal编程技术网

unicode中的Python输入存在退格问题

unicode中的Python输入存在退格问题,python,linux,ssh,utf-8,Python,Linux,Ssh,Utf 8,我的问题实际上是以下问题: 在s=input(“输入名称”)中,如果用户输入Unicode格式的字符串,如علی,然后按backspace键,然后按Enter键(我的意思是使用backspace编辑输入),则会抛出UnicodeDecodeError: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xdb in position 4: unexpected end of data 接受的答案没有显示任何特定的解决方案,而是将其与终端

我的问题实际上是以下问题:

s=input(“输入名称”)
中,如果用户输入Unicode格式的字符串,如علی,然后按backspace键,然后按Enter键(我的意思是使用backspace编辑输入),则会抛出
UnicodeDecodeError

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xdb in position 4: unexpected end of data
接受的答案没有显示任何特定的解决方案,而是将其与终端和服务器编码相关联。我坐的是
LC\u ALL=en\u US.UTF-8,但它没有解决问题,终端也是UTF-8。我的PC操作系统是Ubuntu 20.04,服务器是Ubuntu 16.04。程序在服务器上运行,我通过ssh连接到它

这是服务器上的
locale
的输出:

LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
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=en_US.UTF-8
我在服务器上的python版本是3.7.10。我用Python3.8.5在我的笔记本电脑上进行了测试,没有问题。然后我使用conda在服务器上安装了python 3.8.8,问题仍然存在。
同样,这个问题不在Python控制台中,但是当我调用“
Python或python3.8 inp.py
”时,当
input
命令位于名为
inp.py
的文件中时,是否在“回车”之前按backspace键?对我来说,它不会在Python 3.5.3 Windows上重现10@Orb是的,我在进入前点击了backspace。你能用unicode写点东西吗?就像在一个外国剧本中,…我就是这么做的。在Windows上它可以工作。因此,这可能是一个操作系统兼容性问题。您使用的是什么Python版本(更新您的问题)。我知道输入函数从Python2变为Python3;这难道不是罪魁祸首吗?复制
like‍‍和
并粘贴到Python提示符中(在一对引号之间);您会得到
“如\u200d\u200dعلی和”
。请提及您正在使用的Python版本。