目前我們正在從Delphi 2007遷移到Delphi XE2以支持Unicode。我們將大型XML數據作爲Blob存儲在數據庫中。要插入的BLOB值,爲我們使用以下將Unicode數據存儲到數據庫中
Param.DataType := ftBlob;
Param.AsBlob := Value;
的代碼,但現在支持Unicode的東西在數據庫領域,我們conveted在數據庫中的所有BLOB字段爲nvarchar(最大)。我們改變了上面的代碼
Param.DataType := ftwideString;
Param.AsString := Value;
這是做正確的事,還是應該進行不同的處理,以統一的數據存儲到數據庫中。
你想使用什麼編碼的數據? UTF-8通常是一個不錯的選擇。 – 2012-01-10 10:13:14
你使用SQL服務器嗎?如果是這樣的話,你可以使用XML數據類型(它提供'XQuery'支持),它解析爲'ftMemo'(我認爲它與'nvarchar(MAX)'相同)。 – kobik 2012-01-10 13:51:14
此問題的答案取決於您正在使用的數據訪問組件。 ADO? SQL Server版本? SQL Antive客戶端正在使用中? – 2012-01-10 13:53:08