Golang JSON编组将表情符号转换为问号

我有一个与 MySQL 数据库通信的 golang Web 服务器。用户可以发表评论,这些评论可以包含表情符号,以及其他 utf8mb4 字符。我的数据库能够存储和检索这些表情符号字符,但是,当 JSON 编组/解组时,表情符号会被破坏。是否可以使用 Go 的原生 encoding/json 包来解码/编码 utf8mb4 字符?如果是这样,我将如何去做。提前致谢!


明月笑刀无情
浏览 174回答 1
1回答

慕婉清6462132

我最终能够找到解决方法。以前我将 JSON 编组为 []byte,然后在我的 http.ResponseWriter 上调用 w.Write(jsonBytes)。通过将字节转换为字符串,编写适当的内容类型标头并使用 io.WriteString 代替,我能够防止损坏。这是我的代码:returnJSON, error := json.Marshal(value)if error != nil { Error(w, error); return }w.Header().Set("Content-Type", "application/json; charset=utf-8")io.WriteString(w, string(returnJSON))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go