golang在使用gorm的时候,emoji会变成????,这一看应该就是字符的问题了,数据库改字段已经修改为utf8mb4了,显示出来的还是????。

gorm使用的是github.com/jinzhu/gorm/dialects/mysql

需要将连接的

user:password@tcp(host)/name?charset=utf8&parseTime=True&loc=Local

该成

user:password@tcp(host)/name?charset=utf8mb4&collation=utf8mb4_unicode_ci&parseTime=True&loc=Local

这样就可以完美结局了。

如果不能改动数据库的话,就需要在代码来控制了,代码如下:

package utilimport ("regexp""strconv""strings"
)//表情解码
func UnicodeEmojiDecode(s string) string {//emoji表情的数据表达式re := regexp.MustCompile("\\[[\\\\u0-9a-zA-Z]+\\]")//提取emoji数据表达式reg := regexp.MustCompile("\\[\\\\u|]")src := re.FindAllString(s, -1)for i := 0; i < len(src); i++ {e := reg.ReplaceAllString(src[i], "")p, err := strconv.ParseInt(e, 16, 32)if err == nil {s = strings.Replace(s, src[i], string(rune(p)), -1)}}return s
}//表情转换
func UnicodeEmojiCode(s string) string {ret := ""rs := []rune(s)for i := 0; i < len(rs); i++ {if len(string(rs[i])) == 4 {u := `[\u` + strconv.FormatInt(int64(rs[i]), 16) + `]`ret += u} else {ret += string(rs[i])}}return ret
}

这段代码原文在这:golang emoji表情处理_赵世亮_51CTO博客golang emoji表情处理,妮玛前端提交一个表情,我擦空的,数据库存储不了,我擦,修复了一下https://blog.51cto.com/zhaoshiliang/1841954

golang不能正确显示emoji的处理相关推荐

  1. Java实现简单的在聊天面板中显示emoji

    前言 之前在实现显示emoji的功能的时候一直尝试使用JTextArea这个组件,尝试了各种办法,实现起来实在太困难了,如果重写graphics paint方法用于绘制图片表情的话,跟随显示的消息文字 ...

  2. oracle为什么不用指定数据库,两个数据库怎么保持数据正确显示

    当前位置:我的异常网» Oracle管理 » 两个数据库怎么保持数据正确显示 两个数据库怎么保持数据正确显示 www.myexceptions.net  网友分享于:2015-08-26  浏览:23 ...

  3. python使用matplotlib可视化包含倒影的柱状图(bar plot with shadow)、配置rcParams坐标轴正确显示负号(-)

    python使用matplotlib可视化包含倒影的柱状图(bar plot with shadow).配置rcParams坐标轴正确显示负号(-) 目录

  4. CSS如何正确显示人民币符号¥

    我们做网页时要正确显示人民币符号可以用如下办法: CSS:在中文输入法下用shift+4输出的¥在微软雅黑(Microsoft YaHei),华文细黑(STXihei),(MingLiu)这几个字体下 ...

  5. 【Android】显示Emoji表情字符

    一.下载AndroidEmoji.ttf字体 地址1:Github Android Platform 地址2:AndroidEmoji.ttf.zip 二.使用 2.1 将字体拷贝到assets/fo ...

  6. 2020黑群晖最稳定版本_打造完美6.2.3黑群晖,正确显示 CPU,支持Nvme缓存

    大家好,我是晓飞影! 一个数码爱好者,也喜欢在众多平行领域探究摸索,让生活多一点乐趣. 之前分享了一台正版蜗牛星际 A 款机箱组装 NAS 的文章,搭配 i3-8100和华擎 H310CM-ITX/a ...

  7. 如何显示服务器上excel,如何在HTML中使用OWC正确显示、加载服务器端的excel文件呢?...

    如何在HTML中使用OWC正确显示.加载服务器端的excel文件呢? 我的服务器端是unix操作系统,应用是java写的 我试了很多方法,都无法将excel在浏览器中以只读的形式显示出来,环境是XP  ...

  8. Jupyter notebook导出的html文件不能够正确显示图片

    Jupyter notebook导出的html文件不能够正确显示图片 文章目录: 1 jupyter notebook显示图片方式 1.1 在code模式下 1.2 在Markdown模式下 2 up ...

  9. jquery的html代码中a的onclick的正确显示的代码

    jquery的html代码中a的onclick的正确显示的代码 jquery的html代码中a的onclick的正确显示的代码 需要转义一下,试了好久才试出来 img_delete.html('< ...

最新文章

  1. 中国唯一入选 Forrester 领导者象限,阿里云 Serverless 全球领先
  2. Ajax+Node.js前后端交互最佳入门实践(01)
  3. synchronized和ReentrantLock区别,用新的lock有什么好处?举例说说
  4. IPv4子网划分基础
  5. HarmonyOS 十分钟快速入门教程|和车神哥一起学
  6. PyHook3 的下载与安装
  7. Jmeter使用技巧集锦大全
  8. linux b类地址设24位掩码,子网掩码的设置方法和作用
  9. 速卖通电脑办公行业什么产品好卖?解读2022速卖通重点招商品类及营销策略
  10. wps中的word中公式复制完后是图片
  11. 加速度计和陀螺仪指南(很详细的介绍)
  12. Qt windows下获取CPU、主板、硬盘、网卡等相关信息
  13. 物联网毕设分享 STM32 wifi照明控制系统 - 智能路灯(毕设分享)
  14. 什么是HSS?HSS有什么主要功能?HSS与HLR的区别是什么
  15. uniapp 模块权限配置 权限管理中英对照
  16. 微信公众平台调用百度地图
  17. 四 状语从句(2021-11-09)
  18. SAP FICO F-32和F-44设置默认凭证类型
  19. 决策树分类原理(一)26
  20. jQuery简单实线钟表并随机钟表数字颜色

热门文章

  1. Maya time editor :01
  2. 你要问我应用层?我就和你扯扯扯,高级java工程师面试
  3. 【编译原理】自下而上分析法 C++
  4. Word基础(三十七)自动插入题注
  5. html制作古诗带图画大全,古诗词的手抄报图画设计模板
  6. OpenJudge NOI 2.1 15:Counterfeit Dollar
  7. 聊聊前几天刚开通的微信视频号
  8. 把 umi 的 useModel 抽离到其他项目中使用
  9. uniapp小程序消息订阅功能
  10. 江苏三新供电公司-万千二三本院校电气毕业生的就业选择!