为了账号安全,请及时绑定邮箱和手机立即绑定

在 Golang 中处理西班牙语波浪号

在 Golang 中处理西班牙语波浪号

Go
DIEA 2021-11-01 17:15:40
所以我试图使用 sql 驱动程序将此字符串输入到 mysql 数据库中。我收到此错误 -Do?a Merced Elementarypanic: Error 1366: Incorrect string value: '\x96a Mer...' for column 'name' at row 1我想排除这个条目,但一直没能做到。我试过了 -if !strings.ContainsAny(splitStr[2], "U+0303") {if !strings.ContainsAny(splitStr[2], '\x96') {但这并没有奏效。让 mysql 处理这个会更好,但我不确定如何处理。有什么建议?编辑这就是我连接到我的数据库的方式db, err := sql.Open("mysql", "psanker:123@/education_data")err = db.Ping()db.SetMaxOpenConns(0)check(err)if err != nil {    fmt.Println("Failed to prepare connection to database")    log.Fatal("Error:", err.Error())}这是我的问题出现的地方districtResult, err := db.Exec("INSERT INTO districts(name) VALUES(?)", strings.TrimSpace(splitStr[2]))check(err)SHOW CREATE TABLE 的输出---------------------------------+| Table     | Create Table                                                                                                                                                                                                                   |+-----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| districts | CREATE TABLE `districts` (  `id` int(11) NOT NULL AUTO_INCREMENT,  `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,  PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=35 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci |
查看完整描述

2 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

在苹果上运行?我想应该说Doña Merced Elementary?然而,ñ要从 x96 开始,您必须从“MacRoman”编码的文本开始。

简单的解决方案可能SET NAMES macroman在连接到 MySQL 后立即执行。


查看完整回答
反对 回复 2021-11-01
?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

请将排序规则更改为utf8_general_ci. 它应该工作


查看完整回答
反对 回复 2021-11-01
  • 2 回答
  • 0 关注
  • 167 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信