Encoding 编码utf-8不';我不认识文字

Encoding 编码utf-8不';我不认识文字,encoding,utf-8,terminal,Encoding,Utf 8,Terminal,终端:最新Ubuntu LiveCD上的xterm屏幕 ��� �������.阿维 当我尝试ls目录时,我看到: ls-la给我这个: $ ls ??? ???????.avi $ env | grep -i LANG LANG=en_US.UTF-8 $ export | grep -i LANG declare -x LANG="en_US.UTF-8" 午夜指挥官给我看这个: $ ls ??? ???????.avi $ env | grep -i LANG LANG=en_US

终端:最新Ubuntu LiveCD上的xterm屏幕

��� �������.阿维

当我尝试
ls
目录时,我看到:

ls-la
给我这个:

$ ls
??? ???????.avi

$ env | grep -i LANG
LANG=en_US.UTF-8

$ export | grep -i LANG
declare -x LANG="en_US.UTF-8"
午夜指挥官给我看这个:

$ ls
??? ???????.avi

$ env | grep -i LANG
LANG=en_US.UTF-8

$ export | grep -i LANG
declare -x LANG="en_US.UTF-8"
看起来是这样,对吗?[

en.wikipedia.org/wiki/Mapping_of_Unicode_characters#subrogates

我试图通过python3来欺骗它,我遇到了这样的异常:

for i in os.listdir('.'):
    print (i)
UnicodeEncodeError: 'utf-8' codec can't encode character '\udcc4' in
position 0: surrogates not allowed
我上传的文件正文为空,标题为-4.0K:

$echo$'\xc4\xf3\xf5\xe2\xf0\xe5\xec\xe5\xed\xed'| chardet
:MacCyrillic(置信度:0.92)
$echo$'\xc4\xf3\xf5\xe2\xf0\xe5\xec\xe5\xed\xed'| enca-L ru
MS Windows代码页1251
低频线路终端
$echo$'\xc4\xf3\xf5\xe2\xf0\xe5\xec\xe5\xed\xe8'| iconv-f“Windows-1251”
Дух времени

因此,您需要将终端设置为Windows-1251。

文件系统可能包含无效UTF-8的字节序列,没错。在为UTF-8文件名设置的文件系统上,在文件名中使用该字节序列是错误的。有什么不清楚的?如果需要解决方法,请使用适合这种情况的编码重新安装文件系统文件名(例如,在许多传统的8位编码中,该序列将是有效的,尽管有些混乱)@tripleee,请看我的编辑。你能下载这个文件并帮我识别它吗?它是什么?它是代理还是什么?为什么重要?你想解决哪个问题?我正在尝试为将来配置我的终端,以防止任何无法识别的文件名。大多数现实生活中的Unicode编码都有可能出现无效代码文件名中的序列。只需重命名有问题的文件。