2010-07-28 67 views
3

作为处理或消毒用户名的最佳做法,您会推荐什么? 在法国,西班牙,希腊...甚至限于拉丁字母,你会得到句号,短划线,撇号,...处理/清理用户名(口音,标点,...)的最佳做法?

我们正在做的是从Facebook的API API获取信息。如果用户设置了用户名,我们将获得用户名,否则我们将名称转换为用户名(例如稍后登录)。 我们得到了Clément,D'Aquinne,John M. March,Anne-Sophie Blass等......你知道演习。

你是怎么处理的?

+1

如果你什么都不做,会发生什么? – 2010-07-28 10:03:11

+0

我想将该名称变成用于登录目的的昵称... – Laurent 2010-07-28 10:17:38

+0

但是,你有任何技术上的原因,为什么用户不应该使用这些名称进行登录? – relet 2010-07-28 10:19:44

回答

4

完整的Unicode支持用户名。

如果您担心使用unicode字符的模拟,您可以在名称旁边显示自动生成的视觉线索(很像新用户帐户,但不会被用户图标取代)。

如果仍然需要缩小到ASCII范围,则可以使用Unicode文本规范化的标准工具。他们基于各种unicode等价原则工作:http://en.wikipedia.org/wiki/Unicode_equivalence

对于识别自己的变音符号但不接受任何具有相同规格化的用户帐户的人来说,接受unicode范围内的字符可能是值得考虑的作为现有的形式。即您可以设置/ user /clément,这将禁止创建/ user/clement和/ user /clëment。