legacy-knowledge-base
公開されました Sep. 10, 2025

照合CHARACTER SET utf8mb3でMySQL 5.6を使用することをお勧めしますか?

written-by

Sebastian Madaras

How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!

While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.

legacy-article

learn-legacy-article-disclaimer-text

問題

  • Liferay 7.0 を MySQL 5.6 で照合 CHARACTER SET utf8mb3 とともに使用すると、特定の制限があります。

Environment

  • Liferay 7.0

解決策

  • デフォルトでは、Liferay は utf8mb3 を使用して MySQL 5.6 にデータベース テーブルを作成し (UTF-8 表現で最大 3 バイトの文字のみに制限されます)、共有される文字には UTF-8 での 4 バイト表現が必要です。 その結果、コンテンツ作成者が 4 バイトの UTF-8 表現を持つ文字を使用してコンテンツを作成できるようにする場合、MySQL 5.6 データベースの個々のテーブルはである必要があります。

  • MySQL 5.7 で再現できない理由は、LPS-70734に記載されているように、MySQL 5.6 で utf8mb4 をしてテーブルを適切に作成する方法を Liferay が認識していないためです。 データベースのデフォルトの文字セットが utf8mb4 であっても、MySQL 5.6 はテーブルの作成にそれを尊重しません (明示的に設定する必要があり、Liferay はその作成ステートメントでそうしません。代わりに、データベースが面倒を見ると仮定します)。それ)。

  • テーブル作成の問題に加えて、インデックス作成エラーを回避するために、MySQL が Antelope (MySQL 5.6 のデフォルトの InnoDB ファイル形式) を使用していないことを確認し、代わりに Barracuda (MySQL 5.7 のデフォルトの InnoDB ファイル形式) を使用する必要があります。また、MySQL 5.6 のオプションもあります)。 これはLPS-70734にも記載されています。

  • 文字セット UTF-8 を使用することをお勧めします。

追加情報

did-this-article-resolve-your-issue

legacy-knowledge-base