現在、我々はUnicodeをサポートするためにDelphi 2007からDelphi XE2に移行しています。大きなXMLデータをブロブとしてデータベースに格納します。我々はデータベースへのUnicodeデータの保存
Param.DataType := ftBlob;
Param.AsBlob := Value;
以下のコードを使用します。しかし、今Unicodeのものをサポートするために、データベースフィールドにBLOB値を挿入するには、我々のデータ型はnvarchar(MAX)にデータベース内のすべてのBLOBフィールドをconveted。上記のコードを
Param.DataType := ftwideString;
Param.AsString := Value;
に変更しました。これは正しいことですか、データベースにUnicodeデータを格納するために別の方法で処理する必要があります。
データにはどのようなエンコードを使用しますか?多くの場合、UTF-8が適しています。 –
あなたはSQLサーバーを使用していますか?もしそうなら、あなたは 'ftMemo'(私は' nvarchar(MAX) 'と同じだと思います)として解決するXMLデータ型(' XQuery'サポートを提供する)を使うことができます。 – kobik
この質問の答えは、使用しているデータアクセスコンポーネントによって異なります。 ADO? SQL Serverのバージョン? SQL Antive Clientが使用されていますか? –