asp.net中的土耳其字符

时间:2013-06-18 11:14:16

标签: asp.net vb.net string encoding turkish

我在编写土耳其语网站时遇到了一个奇怪的问题...在我的vb.net代码中,我使用了一个vb函数StrConv(s, VbStrConv.ProperCase),其中s是需要正确填充的字符串。对于土耳其网站,“ı”字符没有正确适当。你有任何想法如何解决这个问题?谢谢。

3 个答案:

答案 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中解决了这个问题