目的,
- 测试Golang把外部GBK字符串,写入UTF8编码的MySQL数据库;
- 测试Golang读取并恢复成GBK字符串
为了进行测试,我们首先在MySQL中创建一个数据库golang_development
该数据库使用utf8
编码。
CREATE DATABASE IF NOT EXISTS golang_development default charset utf8 COLLATE utf8_general_ci;
我们使用gorm
做为ORM模型。
如下Shell命令,运行在macOS下,Windows用户请替换成相应的命令或操作习惯。
Step1 链接数据库
1. 创建目录step-1
2. 切换到step-1
目录,并执行命令 touch main.go
3. 使用熟悉的编辑器打开main.go
4. 复制如下源代码部分到main.go
,并保存
编写链接数据库
package main
import (
"fmt"
"strings"
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/mysql"
)
func main() {
const (
conn = "mysql://root:root@tcp(127.0.0.1:3306)/golang_development?autocommit=true&charset=utf8"
)
DBEngine := strings.Replace(conn, "mysql://", "", -1)
db, err := gorm.Open("mysql", DBEngine)
if err != nil {
panic("failed to connect database")
}
defer db.Close()
fmt.Printf("successed in connecting databasen")
}
在Shell窗口中,分别执行如下两个命令,下载需要gorm
包
$ go mod init
$ go mod tidy
![4b93c02ec99255569624b303bce72211.png](https://i-blog.csdnimg.cn/blog_migrate/ed71c0f234cb63fb8e31793a9c750a7a.jpeg)
在Shell窗口中,执行
$ go run main.go
![1e27c7ee733632103c774b3fc3fa10b7.png](https://i-blog.csdnimg.cn/blog_migrate/315005d4d550daf6ac6931467724e2ec.png)
看到上述结果,确认我们数据库链接成功。