Subject: bug#36085: 26.2; find-dired octal escapes instead of Cyrillic text

From: Tomas Nordin <[email-masked]>
Date: Sun, 09 Jun 2019 14:34:45 +0200

Eli Zaretskii <[email-masked]> writes:

>> From: Nikita <[email-masked]>
>> Date: Tue, 4 Jun 2019 08:43:06 +0500
>> 
>> When i open dired, go to the needed directory, run "M-x dired-find"
>> "-name "*Портрет*" (or anything at all that will give some results)
>> results come back with octal escapes instead of Cyrillic letters.
>> I cannot open pictures that it finds for example.
>
> Turns out the octal escapes are produced by 'find' itself in this
> case.  Try the following command in that directory from the shell
> prompt:
>
>    find . \( -iname "*Портрет*" \) -ls
>
> and you will see the same octal escape instead of the Cyrillic
> characters.  The man page for 'find' clearly documents this, under
> "Unusual Filenames":
>
>  Unusual characters are handled differently by various actions, as
>  described below.
>  [...]
>
>    -ls, -fls
> 	 Unusual characters are always escaped.  White space,  backslash,
> 	 and  double  quote characters are printed using C-style escaping
> 	 (for example `\f', `\"').  Other unusual characters are  printed
> 	 using  an octal escape.  Other printable characters (for -ls and
> 	 -fls these are the characters between octal 041  and  0176)  are
> 	 printed as-is.
>
> What this means is that any non-ASCII character will be converted to a
> series of octal escapes.  IMO, this is a terrible misfeature in GNU
> Findutils, as such "handling" of non-ASCII characters has no place in
> today's global environment.

Here on 27.0.50 the customize option for `find-ls-option` says

    For example, to use human-readable file sizes with GNU ls:
       ("-exec ls -ldh {} +" . "-ldh")

Is it ignorant to suggest to try this as a workaround? It "worked" here.
Thanks for this bug anyway because i have had the same issue sometimes
and I will continue use this option and see if it makes any problems.

>
> I suggest to report this bug to the GNU Findutils developers.

Because ls doesn't seem to do this conversion -- inconsistent? :P

Best regards
--
Tomas