In turkish locale, upper and lower case are mapped as following.

  U0049 <-> U0131
  U0069 <-> U0130

It's expected that both following test cases returns U0130, but later
returns nothing.

$ printf '\304\260\n' >I  # U0130
$ env LC_ALL=tr_TR.utf8 grep -i i I
?  # U0130
$ env LC_ALL=tr_TR.utf8 grep -oi i I
$ 

By the way, both following test cases work correctly.

$ printf '\304\260\n' >i  # U0131
$ env LC_ALL=tr_TR.utf8 grep -i I i
?  # U0131
$ env LC_ALL=tr_TR.utf8 grep -oi I i
?  # U0131
$




Reply via email to