FAQ

4Dで英語以外の外国語を表現できますか

ID104
カテゴリー4D v11 SQL関係 変換とアップグレード 運用 その他
プラットフォーム

全てのバージョンで英語以外の外国語の表現は可能です。例えばドイツ語や中国語を使うことができます。

4D v11 SQL

4D v11 SQLでは入力されたデータは全てUnicode(UTF-16)で取り扱われます。言語の表現はUnicodeの規格に依存します。このことは文章中に多言語が利用できることを意味します。

厳密に言えば、4D 2004以前のデータベースをアップデートしたときに、4D v11 SQLでUnicodeモードを使わない選択をすることはできますが、それは制限を増やすことになるためにお勧め致しません。また、弊社の発行している4D v11 SQLについての全ての説明は、特別な断り書きが無い時にはUnicodeモードを前提として説明致しておりますのでご注意ください。

キーボードレイアウト

4D v11 SQLでもキーボードレイアウトは存在します。これによって入力メソッドが変更されることがありますが、入力される文字コードには影響を与えません。なお入力メソッドが変化するのは、OS側の機能ですので4Dがコントロールをしている訳でないことにご注意ください。

一方で、4D 2004以前のバージョンでは、キーボードレイアウトを使わなくてはなりません。キーボードレイアウトを4D 2004以前で利用する場合には、注意して使わなくてはなりません。なぜなら、キーボードレイアウトを指定して入力された文字コードを正しく表示するためには、入力されたときに使われたキーボードレイアウトを指定したオブジェクトである必要があるからです。4D v11 SQLではキーボードレイアウトは表示に関しては影響ありません。

4Dのフォーム上に配置される文字を扱うオブジェクトには、「キーボードレイアウト」プロパティがあります。デフォルトではシステムに依存しますが、例えば日本語システムで他の言語を表現する時には、その言語のキーボードレイアウトを割り当てることで可能になります。例えばドイツ語を表現するためのフィールドであれば「German」を割り当て、中国語を表現するためのフィールドには「Traditional Chinese」を割り当てます。

4D 2003以前のバージョンでは、ダブルバイトの言語は正しく表現できません。日本語以外のダブルバイトの言語を使う場合には場合には、4D 2004をお使いください。

4D 2004以前で、キーボードレイアウトを使った際には、いくつかの制限がありますのでご注意ください。

  1. その言語に対応したフォントがインストールされていること
  2. 検索や並び替えは正しくないことがあります
  3. 全ての言語のキーボードレイアウトが使える訳ではない
  4. 印刷できないことがある
  5. 4D日本語版において日本語と英語以外の言語の利用は保証の範囲外

4D v11 SQLへのアップグレードする際の注意点

4D 2004以前のバージョンから4D v11 SQLへのデータ移行も可能です。ただし移行時のコンバートの際には、同じフィールドに複数の言語が入力されていると変換時に文字化けすることが予想されます。4D v11 SQLではUTF-16への変換が行われますが、このとき使われる変換テーブルは言語毎に異なります。詳しい方法は省きますが、どの変換テーブルをどのフィールドに使うかは、変換時に決めることができます。詳しくはアップグレードマニュアルをご参照ください。

注意していただきたいのは、他言語を利用する時にはフィールド毎にどの言語を使うかを決めていただきたいのです。あるフィールドの中に複数の言語が混じっているようなとき、4D v11 SQLへのアップグレードを行うための変換において上手く変換できなくなります。前述の通り、変換テーブルはフィールド毎に容易されるので、複数の言語が同じフィールドにあることは考慮されません。将来に亘り4Dをお使いいただくことを考えるなら、4D 2004でのフィールドのデザインについて十分に検討されますようお願い致します。