私もDelphi7には、ZeosLib 6.6.6をインストールしていますが、
SQLiteを使う場合は、日本語関連のトラブルを避けるために、
Unicode対応のDelphi2009以降で使用したほうがよさそうです。
例えば、Delphi7 + ZeosLib 6.6.6 (SQLite 3.17.0) にて、
CREATE TABLE TestTBL
(
ID INTEGER PRIMARY KEY AUTOINCREMENT
,S VARCHAR(30)
);
INSERT INTO TestTBL (S) VALUES ('日本 太郎');
INSERT INTO TestTBL (S) VALUES ('日本 花子');
を実行した場合、
SELECT * FROM TestTBL;
で正しく表示しますが、
SELECT * FROM TestTBL WHERE S LIKE '%花%';
では、表示しません。(ただし、古い SQLite 3.5.5のDLLだと表示します。)
また、上記のデータベースファイルを
Delphi XE + ZeosLib 7.1.4 (SQLite 3.17.0) にて接続し、
SELECT * FROM TestTBL;
で、日本語が文字化けしたりしますので・・・
|