ruby 默认使用 utf-8 编码,这类编码是变长的 从 1-3 个字符不等
当要把一个中文当 2 个字符计算时候 直接 '中文'.b.length 得到的是 6
'中文'.b.length
转换成 gbk 编码可以得到一个中文 2 个字符 '中文'.encode('gbk'.b.length) 得到的是 4
'中文'.encode('gbk'.b.length)
这样没有问题吧?
另外,好多网站都是将注册用户名 中的中文算 2 个字符,为什么要这样做呢?
现在新网站还有必要这样做吗?
对啊,为什么要这样做呢?谁在乎?
因为那种数据库一般用的是 GBK 编码的吧。。。
而且现在帐号和用户名一般也都不一样了。。。限制也没啥意义了……
1 楼神图啊。who care?
用户名为啥不能一个字母?我喜欢一个字母的
#4 楼 @sevk https://twitter.com/a
#1 楼 @Rei #2 楼 @Kabie Rei 发的那些都没用户名,国外也不用考虑 utf-8 字符吧 恩,现在我做新站,在考虑这用户名限制,只能中文,英文,数字,最大 16 个,不能数字开头和纯数字,最小不限,可以一个字符