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