SQLite数据库支持Unicode数据

时间:2013-10-16 01:32:14

标签: sqlite

我正在使用需要unicode字符串拖入jtable的java swing应用程序。是否可以在SQLITE数据库中存储unicode数据?如果是这样,哪个SQLite支持unicode ..我需要免费的sqlite而不是溢价..

3 个答案:

答案 0 :(得分:12)

SQLite始终使用创建数据库时指定的 Unicode 编码将文本数据存储为Unicode。数据库驱动程序本身会将数据作为语言/平台使用的编码中的Unicode字符串返回。

如果您遇到转换问题,您的应用程序会尝试存储ASCII字符串而不将其转换为Unicode,或者您尝试读取一个值并对其强制转换。

SQLite使用一种dynamic typing,其中每个都使用特定的存储类存储。列的类型指定 affinity 或如何处理值。例如:

  

具有NUMERIC亲缘关系的列可能包含使用所有五个存储类的值。将文本数据插入NUMERIC列时,文本的存储类将转换为INTEGER或REAL

有五个存储类,NULL,INTEGER,REAL,TEXT,BLOB。 TEXT使用为数据库指定的Unicode编码(UTF-8,UTF-16BE或UTF-16LE)存储字符串数据。

您面临哪些具体问题,或者这是一般性问题?

答案 1 :(得分:1)

SQLite始终使用Unicode字符串。

答案 2 :(得分:0)

sqlite3不完全支持UNICODE。有一个名为CppSQLite3的包装器类,它完全支持UNICODE>