golang使用oci8读取oracle并正常显示中文
发布日期:2017-03-13 12:18:42
package main
import (
"database/sql"
"fmt"
"os"
//"github.com/axgle/mahonia"
//iconv "github.com/djimenez/iconv-go"
_ "github.com/mattn/go-oci8"
)
func main() {
//os.Setenv("NLS_LANG", "SIMPLIFIED CHINESE_CHINA.ZHS16GBK")
os.Setenv("NLS_LANG", "SIMPLIFIED CHINESE_CHINA.AL32UTF8")
db, err := sql.Open("oci8", "name/pwd@172.16.1.1:1521/dc10g")
if err != nil {
fmt.Println(err)
return
}
defer db.Close()
rows, err := db.Query("select vsl_id,vsl_cnname from st_vessels where vsl_id > 278788 order by vsl_id desc ")
if err != nil {
//return err
fmt.Println(err)
}
defer rows.Close()
//enc := mahonia.NewEncoder("GBK")
for rows.Next() {
var vslId string
var vslName string
if err = rows.Scan(&vslId, &vslName); err != nil {
fmt.Println(err)
return
}
//vslId, err = iconv.ConvertString(vslId, "utf-8", "gb2312")
//vslName, err = iconv.ConvertString(vslName, "utf-8", "gb2312")
//vslName1 = enc.ConvertString(vslName)
fmt.Println((vslId + "," + vslName))
}
fmt.Println("运行完毕!")
}