0
在帶Firedac的DELPHI XE3中,我們創建表table0並插入UTF8編碼的文本都可以。當讀取FTS表時不支持FIREDAC-UTF8編碼
CREATE TABLE table0 (mytext Ntext,publishdate date);
INSERT INTO table0 (mytext,publishdate) VALUES ('привет','1998-12-07');
但是,當我們創建一個FTS表並以UTF8插入文本時。
CREATE VIRTUAL TABLE table1 USING FTS4(mytext,publishdate);
INSERT INTO table1 (mytext,publishdate) VALUES ('привет','1998-12-07');
和閱讀
SELECT mytext FROM table1
的數據,我們得到 「??????」。
SQLITE Expert Personal中的相同命令返回「привет」。這意味着在Insert命令後面的表中,我們有'привет',並且select返回非UTF8編碼的數據。
什麼可以做從表中正確的值來獲得與Firedac
ADQuery.Open('SELECT mytext FROM table1')?
所以這裏'AsWideString'或'AsWideMemo'返回問號?或者你用什麼來獲得價值觀?另外,對於插入,您應該使用具有相似訪問權限的參數。 – Victoria