O nome do arquivo é exibido com? char quando 'ls' enquanto com caractere de lixo quando 'ls | grep fran '?

0

Qual é a configuração que define como o nome do arquivo com caracteres irreconhecíveis pode ser substituído por algum outro caractere. Por exemplo, no meu sistema Linux, o mesmo arquivo é exibido de maneira diferente na configuração de ambiente UTF8 no PuTTY

$ ls | grep fran
fran▒aise

$ ls
fran?aise

fran▒aise - > seu byte codificado é fran\xe2\x96\x92aise

Eu acho que o sistema está fazendo tudo isso porque não está entendendo codificado em latim \xe7 byte

Além disso, quando copio em outra pasta que é basicamente uma montagem NFS diferente, ela é exibida com um nome diferente: fran栩se .

Como posso verificar a configuração que faz todas essas alterações implícitas?

locale:
LANG=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
    
por ceasif 11.07.2018 / 04:14

1 resposta

0

em massa eu uso

Configuração - > Windows - > Tradução - > Conjunto de caracteres remotos: UTF-8

no linux

LANG=en_US.UTF-8

tudo funciona bem

Linux > echo élève > française
Linux > od -c française
0000000 303 251   l 303 250   v   e  \n
0000010
Linux > ls | od -c
0000000   f   r   a   n 303 247   a   i   s   e  \n
0000013
Linux > ls
française

e completo stty

Linux > stty -a
speed 38400 baud; rows 40; columns 129; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S;
susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke -flusho -extproc

quando scp'ing do windows para linux, um arquivo chamado vérification.xml

no dos

vÚrification.xml          | 99 kB |  99.9 kB/s | ETA: 00:00:00 | 100%

no linux

Linux > LANG=C.utf8 ls
fran??aise  v?rification.xml
Linux > LANG=POSIX ls
fran??aise  v?rification.xml
Linux > LANG=french ls
française  v▒rification.xml
Linux > LANG=fr_FR.iso88591 ls
française  v▒rification.xml
Linux > LANG=fr_FR.utf8 ls
française  v?rification.xml
    
por 11.07.2018 / 10:19