我正在使用 Go sqlx 包对 MariaDB 数据库进行查询,并且我希望能够将非 ascii 表单提交的值保存到数据库中。
这是功能:
func QuoteCreate(content string, author string) error {
var err error
fmt.Println("content, author", content, author)
_, err = database.SQL.Exec("INSERT INTO quote (content, author) VALUES (?,?)", content, author)
if err != nil {
fmt.Println(err)
}
return standardizeError(err)
}
表quote
有utf8_general_cli
整理和InnoDB
引擎。但是表单提交的content
和值保存为当值不是ascii字符时(我试过波斯语和简体中文)。author
???
我也尝试utf8_unicode_cli
过表格排序,但遇到了同样的问题。有趣的是,非 ascii 字符在保存之前在终端上打印时会正确显示。
所以我一无所知这里出了什么问题,我该如何解决?