根據the official Firebird documentation,包含Unicode字符串(SQL Server稱爲NVARCHAR)的列應聲明爲VARCHAR(x) CHARACTER SET UNICODE_FSS
。所以我這樣做了,但是當我用DBExpress查詢表時,我得到的結果是一個TStringField,它只是AnsiString,而不是我期待的TWideStringField。爲什麼我的查詢返回錯誤的字符串類型?
如何讓DBX給我一個來自Unicode字符串列的Unicode字符串結果?
不知道fb驅動程序,但是使用ib驅動程序(在fb數據庫上),我可以在sql連接上使用UTF8列的參數'ServerCharSet = UTF8'。對於連接,有可能使用unicode或ansi工作,我的意思是我無法使用混合列表工作。不知道它是否仍然如此。 – 2011-03-22 23:58:19
順便說一句,如果你設計的數據庫不適用於UNICODE_FSS。 google上的第一個「UNICODE_FSS」命中是[this](http://www.destructor.de/firebird/charsets.htm)。 – 2011-03-23 00:02:06
@sertac:很好。我以編程方式生成創建腳本,所以我可以很容易地修復它。仍然沒有解決TWideStringField問題,雖然... – 2011-03-23 00:07:22