Skip to content

ls produce bad output in Windows PowerShell if file name contains non-ASCII characters #11103

@Jisu-Woniu

Description

@Jisu-Woniu

In a directory with files containing non-ASCII characters in file name:

PS ~\dir> Get-ChildItem | Select-Object Name

Name
----
文件1
fílè₂
файл3

GNU ls through bash gives:

PS ~\dir> bash -c ls
fílè₂  файл3  文件1

While uutils' ls gives lots of escapes (or ? if -N/--literal is used):

PS ~\dir> coreutils.exe -V
coreutils 0.6.0 (multi-call binary)
PS ~\dir> coreutils.exe ls
'f'$'\303\255''l'$'\303\250\342\202\202'  ''$'\346\226\207\344\273\266''1'
''$'\321\204\320\260\320\271\320\273''3'
PS ~\dir> coreutils.exe ls -N
f??l?????  ????????3  ??????1

Running uu-ls on Linux seems fine:

$ ls
fílè₂  файл3  文件1
$ uu-ls
fílè₂  файл3  文件1

Is it a issue with UTF-8 encoding? It seems that the numbers of ?'s are equal to the character's UTF-8 byte length.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions