3

我正在使用 HDBC sqlite3 haskell 驱动程序访问本地 sqlite3 数据库

PRAGMA encoding

UTF-8

结果,例如

SELECT id, title FROM some_table

我总是得到这样的结果:

[[SqlByteString "1", SqlByteString "\210\129\123\211"], ... ]

这很奇怪!是的,标题包含“国家”符号,是的,我确定它id的类型为INTEGER.

所以问题是:

  1. 为什么 1 个 unicode 符号被威胁为 2 个类似 ascii 的符号?
  2. 为什么整数列会产生字节串值?
4

1 回答 1

2

SQLite 是一个无类型数据库,因此数据库中的字段根本没有类型。您应该使用fromSqlsafeFromSqlDatabase.HDBC.SqlValue将它们转换为更 Haskellish 的值。

于 2011-03-06T20:30:54.117 回答