0
复杂,以表达我的问题的所有字符(UTF-8),我尝试:转到查询(DB2)提供不从表
我有一个DB2表(内部代码页CP850)
create table codes (code character(2))
用UTF-8字符
insert into codes values('ÖÖ')
linux下DB2的客户端select * from codes
的数据集提供
code
ÖÖ
如预期。
现在转到部分,这是有问题的。
我的模型看起来像
package codes
type Code struct {
Code db.NullString `json:"code" sql:"code"`
}
type Codes []*Code
和我的查询看起来像
package codes
func FindAll()(Codes, error) {
result := make(Codes, 0)
row, err := db.Query(nil, 'SELECT c.code FROM codes c');
//errorhandling...
for rows.Next() {
c := &Code{}
rows.Scan(&c.Code)
log.PrintLn(c.Code) // <== 'Ö'
result = append(result, c)
}
return result, nil
}
此日志只打印一个Ö
,而不是两个。我知道这是因为符文Ö
不是内存中的一个字节。但我不知道去哪里寻找和修复,因为这是我第一次尝试去。
(遗漏我是否可以提供?)
仍然是相同的结果:我的“正常”数据集包含两个字符,除了那些有两个字节UTF-8编码 –