asp.netvb.netstringencodingturkish

Turkish character in asp.net


I faced a strange problem while coding a Turkish site... In my vb.net code I use a vb function StrConv(s, VbStrConv.ProperCase) where s is the string that needs to be propercased. For the Turkish site, the "ı" character is not properly propercased. Do you have any ideas how to solve this? Thanks.


Solution

  • This (infamous) case is known as the Turkish I Problem. Jeff Atwood has written about it: What's wrong with Turkey? If you uppercase a Turkish lowercase dotless i, it becomes the uppercase English I. Then, if you lowercase that, it becomes an English lowercase dotted i. (That is, the operation is not commutative.) See this link for the solution.