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

慕婉清6462132
TA贡献1804条经验 获得超2个赞
我最终能够找到解决方法。以前我将 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))
- 1 回答
- 0 关注
- 137 浏览
添加回答
举报
0/150
提交
取消