For lexicographic ordering comm(1) compares chars without specified signedness. So, when 'char' is 'signed char', comm assumes that UTF-8 multibyte units appear before ASCII. Must force unsigned comparison to ensure compatibility with sort(1) beyond 7 bits. Test:
comm <{echo Bar; echo Bär} <{echo Bär; echo Foo}
|