·设为首页收藏本站📧邮箱修改🎁免费下载专区🔐设置/修改密码👽群雄群聊
返回列表 发布新帖

会员表username字段长度问题

368 7
发表于 2023-1-30 08:05:51 | 显示全部楼层 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
升级之前是GBK,这个字段15字节,可以放7个汉字,现在升级为UTF8之后,这个字段长度没变,只能放5个汉字,导致那些6、7个汉字的用户名给截掉了。
建议完善升级程序,把这个字段的长度改长一些,既是兼容性问题,也是让用户名可以长一些。我知道答案 回答被采纳将会获得5 金币 已有7人回答
我要说一句 收起回复

评论7

婷姐Lv.8 发表于 2023-1-30 08:06:31 | 显示全部楼层
MySQL 很早以前就把字段长度定义为字符数了,所以数据库字段是字符数。
理论来说也可以改造成字符数,不过因为用户习惯、页面展示、UCenter 与第三方对接等因素所以程序还是按 "字" 控制。
Discuz! 和 UCenter 对于用户名有 "字" 这样的特殊计算方法,用户名里面的一个中文算两个字节,所以是可以支持七个汉字+一个字母的。

会员表username字段长度问题 会员,字段长度,段长度,长度,问题
我要说一句 收起回复
TyCodingLv.8 发表于 2023-1-30 08:07:11 | 显示全部楼层
MySQL的长度计算是按“字符数”计算的,不管是GBK还是UTF8,都是一个字算一个单位,不是按字节数计算的。
Discuz这边有额外的长度算法(避免纯汉字场景下内容过长造成UI溢出),但一般也是统一按一个汉字等于2个英文字母计算,正常情况下是不会出现只能放5个汉字这种情况的。
随便给你举个例子:https://www.dismall.com/home.php?mod=space&uid=498
你看这位的用户名就已经是6个字了

出现这种情况的话,建议检查一下是否残留了X3.4时代的文件。
我要说一句 收起回复
拾光Lv.8 发表于 2023-1-30 08:07:44 | 显示全部楼层
多谢两位回复。
我要说一句 收起回复
CrystαlLv.8 发表于 2023-1-30 08:07:57 | 显示全部楼层
不过啊   用户昵称的长度 的确是个问题。    比如 政府单位 注册的时候习惯用全城  这一全称就是多个字
我要说一句 收起回复
浅生Lv.8 发表于 2023-1-30 08:08:55 | 显示全部楼层
这个暂时来说还没有太好的办法,如果只是自用的话可以自己改一下长度
官方版本因为涉及到了UCenter,与其他应用对接之类的问题导致用户名不能随意加长,否则会出现跨应用兼容性问题。而且还有一方面是Discuz许多位置的UI也只留了那么大,如果用户名加长的话会导致界面溢出甚至错位的现象发生。
我要说一句 收起回复
浅生Lv.8 发表于 2023-1-30 08:09:31 | 显示全部楼层
历史遗留问题
我要说一句 收起回复
IT618发布Lv.8 发表于 2023-1-30 08:09:56 | 显示全部楼层
政府单位全称十几个字基本算是标配,XXXXXX街道办事处这种也不是没有,按这个考量用户名长度不现实,建议使用头衔功能代替。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图

您的IP:3.147.78.174,42.101.4.57,GMT+8, 2024-5-1 07:10 , Processed in 0.204740 second(s), 134 queries , Gzip On, Redis On.

Based on Discuz! W1.0 Licensed

© 2001-2024 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表