我正在查看一些将用户名转换为小写的代码,然后再存储它们.我90%肯定这是可以的,但是那里的系统实际上需要用户名的区分大小写(特别是在健康行业)?
注意:我的特定代码不在入口点.我们从其他系统获取用户名.我所担心的是依赖于那些系统(可能或可能不在我们的控制之下),在相同的情况下始终传递用户名(当描述同一用户时).
另外值得注意的是 - 代码是:
userName.toLowerCase(Locale.ENGLISH)
所有用户名都是英文的吗?这只是匹配数据库中的排序规则吗?请注意(至少在java中)String.toLowerCase()
定义为String.toLowerCase(Locale.getDefault())
unix登录区分大小写......
有没有其他系统这样做?
toLowerCase只有一个理由让它接受一个语言环境:
因为小写字母i在每种标准语言中都有一个点,所以字母I用点转换成ai.
但在土耳其语中,还有一个大写字母,上面有一个点.这变成了一个小写字母i.
"常规"的土耳其首都我被改造成一个小的ı - 没有一个点.
所以,除非你的土耳其用户名都被称为IiI1I1iiII,我几乎不担心这个.
除土耳其语之外的其他语言都具有相同的toLowerCaseImplementation.所以你可以选择Locale.ENGLISH或Locale.GERMAN等等.一定要确保你不挑选土耳其语.
有关更多详细信息,请参阅javadoc
编辑:感谢utku karatas我可以/复制粘贴正确的字形在帖子中.