10.4.1で「Unicode文字のマッピングがターゲットのマルチバイトコードページに存在しません」のエラーが表示されます

提供: Support
移動先: 案内検索

対象となる製品

  • RAD Studio 10.4.1
  • C++Builder 10.4.1
  • Delphi 10.4.1

問題

新規でプロジェクトを作成、または既存のプロジェクトを開くと、「Unicode文字のマッピングがターゲットのマルチバイトコードページに存在しません」のエラーが表示され続けて終了もできません。

解説

このエラーは、保存されているレイアウトファイル(.dst)に ANSIエンコードのファイルがあるときに発生します。

レイアウトファイルは通常UTF-8エンコードで作成されるファイルですが、現在、次の手順でレイアウトファイルを更新した際に、ANSIエンコードのレイアウトファイルが作成されることがわかっています。

  1. 「ファイル|新規作成|Windows VCL アプリケーション」で新規にVCLアプリケーションを作成します。
  2. フォーム上に TButtonとTMemoを置きます。
  3. TButtonをダブルクリックして、たとえば次のようなコードを記載します。
    Memo1.Lines.Add('押しました');
    
  4. コードエディタの下部に表示されているエンコードの種類がANSIであることを確認します
    MappingError.png
  5. 「ファイル|すべて保存」で保存します。保存時のファイル名は任意で構いません。
  6. 「表示|別の編集ウィンドウを開く」で、現在表示されているユニットを別のエディタ画面で開きます。
  7. 同様に、コードエディタの下部に表示されているエンコードの種類がANSIであることを確認します。
  8. 「表示|ディスクトップの配置|保存」で任意の名前を付けてレイアウトファイルを保存します。

解決

C:\Users\<Windows ユーザー名>\AppData\Roaming\Embarcadero\BDS\21.0 以下にある該当のレイアウトファイル(.dst)のエンコードを ANSIから UTF-8に変更します。 または、このフォルダ内にある、該当のレイアウトファイル(.dst)を削除します。

C:\Users\<Windows ユーザー名>\AppData\Roaming\Embarcadero\BDS\21.0 は隠しフォルダのため、エクスプローラで参照する際は、表示の設定で「隠しファイル」にチェックを付けて表示します。