Haskell HDBC-Sqlite3始终返回SqlByteString值

时间:2011-03-06 17:40:09

标签: haskell sqlite hdbc

我使用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. 为什么整数列会产生字节串值?

1 个答案:

答案 0 :(得分:2)

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