You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Go语言libpq驱动向PostgreSQL插入含特殊UTF-8字符的邮箱地址时遭遇编码不兼容错误的求助

Go语言libpq驱动向PostgreSQL插入含特殊UTF-8字符的邮箱地址时遭遇编码不兼容错误的求助

大家好,我最近在用Go语言的libpq驱动操作PostgreSQL数据库时碰到了一个编码相关的问题,折腾了好一阵没解决,想请教下各位:

我尝试插入一个包含特殊UTF-8字符的邮箱地址,结果直接报错了,错误信息如下:

Unable to execute the query. pq: character with byte sequence 0xf0 0x9f 0x9a 0x80 in encoding "UTF8" has no equivalent in encoding "LATIN1"

查了一下,这个字节序列对应的是UTF-8的🚀表情字符,确实不在LATIN1的字符集里,只有0xf0是LATIN1的可打印字符。

我要插入的邮箱地址具体是这样的:

author := "🚀 Steven Duncan 🧌 <steven.duncan@gmail.com>"

我本来想着用SanitizeSQL函数来处理这种特殊字符,避免报错,但这个函数并没有起作用,我的核心代码逻辑是这样的:

sqlStatement := `INSERT INTO logs (author) VALUES ($1) RETURNING id`

sql_with_args, err := SanitizeSQL(sqlStatement, author)

我写了完整的演示代码逻辑,方便复现这个问题。

备注:内容来源于stack exchange,提问作者Leahcim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 11:18:08