I was able to reproduce that behavior. See for example:
268947 -rw-r--r-- 1 root root 8 Dez 20 12:32 app
268944 -rw-r--r-- 1 root root 24 Dez 20 12:33 aрр
This is on my system (
Linux debian 4.9.0-7-amd64 #1 SMP Debian 4.9.110-3+deb9u2 (2018-08-13) x86_64 GNU/Linux).
I have a UTF-8 locale and the character
p in the above output is not the same, but it looks similar. In the first line it's a
LATIN SMALL LETTER P and in the second line a
CYRILLIC SMALL LETTER ER (see https://unicode.org/cldr/utility/confusables.jsp?a=p&r=None). This is just an example, it could be every character in the filename, even the dot.
When I use a UTF-8 locale, my shell gives the above output. But if I use a locale that has not all unicode characters for example the default locale
c, then the output looks as follows (you can change the local by setting
LC_ALL=c ls -lib
268947 -rw-r--r-- 1 root root 8 Dec 20 12:32 app
268944 -rw-r--r-- 1 root root 24 Dec 20 12:33 a\321\200\321\200
This is because the
CYRILLIC SMALL LETTER ER is not present in ASCII.