Unicode アプリを作成したり、既存のアプリを Unicode に変換したりした人はいますか?
Firebird をどのように微調整して、特に CHARSET 属性の問題を最小限に抑えていますか?
何か問題はありますか?他に知っておくべきことはありますか?
ユニコード列車に飛び乗る前に、驚きを少なくするために準備をしています。
Unicode アプリを作成したり、既存のアプリを Unicode に変換したりした人はいますか?
Firebird をどのように微調整して、特に CHARSET 属性の問題を最小限に抑えていますか?
何か問題はありますか?他に知っておくべきことはありますか?
ユニコード列車に飛び乗る前に、驚きを少なくするために準備をしています。
Firebird データベースの文字セットとして UTF8 を使用します。UNICODE_FSS は過去のものであるため、可能なすべての文字をサポートする唯一のオプションです。
ただし、これは、Delphi での Unicode プログラムの作成に関する質問とは直交しています。UTF8 charset を使用する新しい Ansi Delphi プログラムの場合でも、Ansi プログラム (たとえば、Delphi の GNU gettext を使用http://dybdahl.dk/dxgettext/ ) を他の言語に変換でき、UTF8 のみを使用できるため、最適なオプションです。 Windows コードページに応じて、データベースに送信される可能性のあるすべてのテキストを格納できます。別の方法は、デプロイメントごとに異なるデータベース・キャラクタ・セットを使用することです。そうすると、データベース・ファイルを単純に交換したり、最初に再コーディングすることなくインストール間でデータを移行することはできなくなります。
開発作業では、データベース管理プログラムが UTF8 データベースで問題なく動作することも確認してください。それらのほとんどは Delphi で記述されているため、Unicode 対応のコントロールを使用しない限り、問題が発生する可能性があります。
これは、問題(ファイルの読み取り/書き込み、DLL、ストレージなど)が表示されるアプリの「エッジ」です。
iniファイル:TIniFile(ansiのみ)からTMemIniFileに移行しました(UpdateFileを呼び出すことを忘れないでください)。
あなたの質問のFirebirdの部分に関しては、私はそれについての経験がありません。
私の知る限り、Delphi 2009でユニコードが有効になっていない部分は、readlnやwritelnなどのコンソール関数だけです。残りは完全にユニコードである必要があります。