美文网首页
带图片的微信用户名称存mysql问题总结

带图片的微信用户名称存mysql问题总结

作者: walker_wan | 来源:发表于2018-07-05 17:59 被阅读0次

    先直接说两种解决方法,第一种比较烦(其实也没有很烦),第二种简单

    1.后台对 用户名这个字段进行 加码 存入到mysql 取出来 再解码呈现

    我的项目中 是 nickName 字段进行存储微信头像数据的

    存数据的时候 进行 编码 将二进制数据编码为可写的字符型数据

    String enNickName = Base64.getEncoder().encodeToString(nickName.getBytes("UTF-8"));
    

    从数据库取出来的时候,是加码之后的数据,所以要 解码

    String deNickName = new String(Base64.getDecoder().decode(nickName), "UTF-8");
    

    将此时的deNickName返回给前端,就会正常显示啦。

    2.直接对mysql的编码进行修改

    第一坑:
    把数据库中 nick_name 字段的字符集 改为 utf-8mb4
    测试之后发现没用!没用!没用!

    第二坑:
    把数据库中表 的字符集改为 utf-8mb4
    也没用!没用!没用!
    把此数据库的字符集改为 utf-8mb4
    都没用!没用!没用!

    解决:
    需要修改 my.cnf 这个文件里面的字符集设置
    这个文件在linux 下一般在 /etc/my.cnf

    vi /etc/my.cnf
    

    修改[client] [mysqld] 下面的字符为utf-8mb4

    my.cnf.png

    修改红线标的就好了

    返回主目录
    cd ~

    重启mysql
    service mysqld restart

    测试发现完成咯!

    app界面.png

    相关文章

      网友评论

          本文标题:带图片的微信用户名称存mysql问题总结

          本文链接:https://www.haomeiwen.com/subject/ogipuftx.html