我在编写土耳其语网站时遇到了一个奇怪的问题...在我的vb.net代码中,我使用了一个vb函数StrConv(s, VbStrConv.ProperCase)
,其中s
是需要正确填充的字符串。对于土耳其网站,“ı”字符没有正确适当。你有任何想法如何解决这个问题?谢谢。
答案 0 :(得分:4)
我记得土耳其语“ı”是两种情况中的一种,其中转换为大写然后再回到小写不会产生原始字符串。另一个是德国锋利的“s”(即ß)。
StrConv调用的结果究竟是什么?
您是土耳其语母语人士,您是否期望得到具体结果?如果是:.NET CLR中可能存在错误。然后请发布您正在使用的确切.NET版本。
否则结果可能非常好,即使对于非土耳其用户来说看起来很奇怪。
对于德国人来说,我是德国人:没有大写ß。 小写字母是“ß”。转换为大写:“SS”。并回到小写:“ss”答案 1 :(得分:4)
这个(臭名昭着的)案件被称为Turkish I Problem。杰夫阿特伍德写过这篇文章:What's wrong with Turkey?如果大写土耳其小写无点我,它会成为大写的英语I.然后,如果你小写那个,它就会变成英文小写点缀i。 (也就是说,操作不可交换。)请参阅this link了解解决方案。
答案 2 :(得分:0)
FileReader = New StreamReader(OpenFileDialog1.FileName, Encoding.Default)
Encoding.Default
在vb.net中解决了这个问题