私はHDBCsqlite3haskellドライバーを使用してローカルsqlite3データベースにアクセスしています。
PRAGMA encoding
は
UTF-8
そしてその結果、例えば
SELECT id, title FROM some_table
私はいつも次のような結果を得ています:
[[SqlByteString "1", SqlByteString "\210\129\123\211"], ... ]
それは変だ!はい、タイトルには「国」の記号が含まれています。はい、id
タイプはINTEGER
。です。
したがって、質問は次のとおりです。
- 1つのUnicodeシンボルが2つのASCIIのようなシンボルとして脅かされるのはなぜですか?
- 整数列がバイト文字列値になるのはなぜですか?