go-sql-driver/mysql 查询 latin1 中文字符集

select name from table;

table是 latin1 编码, 返回后查询结果后,即使将 name 转为 utf-8,日志输出中文仍然乱码。

    // 配置数据库连接字符串,确保指定charset=latin1
    dsn := "user:password@tcp(127.0.0.1:3306)/dbname?charset=latin1"
    db, err := sql.Open("mysql", dsn)
    if err != nil {
        log.Fatalf("Failed to connect to database: %v", err)
    }
    defer db.Close()

连接数据库时指定 charset=latin1 ,按照实际存储的字符集转换

        // 如果需要将其转换为 UTF-8,可以使用 mahonia 库
        dec := mahonia.NewDecoder("gbk")
        utf8Name := dec.ConvertString(name)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值