facebook/zstd

zstd fails to process some filenames on Windows [we need a hero]

Open

#3,882 opened on Jan 24, 2024

View on GitHub
 (19 comments) (0 reactions) (0 assignees)C (2,481 forks)batch import
help wanted

Repository metrics

Stars
 (27,100 stars)
PR merge metrics
 (Avg merge 50m) (2 merged PRs in 30d)

Description

Windows 7 x64, zstd 1.5.5

$ dir /b
birds.txt
pájaros.txt
vögel.txt
птицы.txt

$ zstd *.*
zstd: can't stat pajaros.txt : No such file or directory -- ignored
zstd: can't stat vogel.txt : No such file or directory -- ignored
  2 files compressed : 85.71% (  3.00 KiB =>   2.57 KiB)
 
$ dir /b *.zst
birds.txt.zst
птицы.txt.zst

@Cyan4973 said zstd doesn't do anything special, it uses the C standard fopen() function. This should be naturally compatible with any utf-8 character set. But I suspect Windows does something different with the character set, so there might be a need to employ other non-portable Windows variants of > fopen for these scenarios.

Contributor guide