MySQL 8.0 リファレンスマニュアル MySQL NDB Cluster 8.0 を含む

このページは機械翻訳したものです。

10.5 アプリケーションの文字セットおよび照合順序の構成

デフォルトの MySQL 文字セットおよび照合順序 (utf8mb4utf8mb4_0900_ai_ci) を使用してデータを格納するアプリケーションの場合、特別な構成は必要ありません。 別の文字セットまたは照合順序を使用したデータストレージが必要なアプリケーションの場合は、次の複数の方法で、文字セット情報を構成できます。

異なるアプリケーションで別々の文字設定が必要な場合は、データベースごとの手法で十分対応できます。 ほとんどまたはすべてのアプリケーションで同じ文字セットを使用する場合は、サーバーの起動時または構成時に文字設定を指定する方法がもっとも便利です。

データベースごとの手法またはサーバー起動の手法では、設定によって、データストレージの文字セットが制御されます。 アプリケーションはまた、次の手順で説明するように、クライアントとサーバー間の通信に使用する文字セットをサーバーに知らせる必要もあります。

ここに示す例では、utf8mb4 および utf8mb4_0900_ai_ci のデフォルトの代替として、特定のコンテキストで latin1 文字セットおよび latin1_swedish_ci 照合順序を使用することを前提としています。

アプリケーション用に MySQL 文字セットを構成する方法とは無関係に、これらのアプリケーションが実行する環境も考慮する必要があります。 たとえば、エディタで作成したファイルから取得した UTF-8 テキストを使用してステートメントを送信する場合は、ファイルエンコーディングが正しく、オペレーティングシステムで正しく処理されるように、環境のロケールを UTF-8 に設定してファイルを編集する必要があります。 端末ウィンドウ内から mysql クライアントを使用する場合、UTF-8 を使用するようにこのウィンドウを構成する必要があります。そのようにしないと、文字が正しく表示されない可能性があります。 Web 環境で実行するスクリプトの場合、このスクリプトは、MySQL Server とやり取りできるように文字のエンコーディングを正しく処理する必要があり、ページ内容の表示方法をブラウザが認識できるようにエンコーディングを正しく指定したページを生成する必要があります。 たとえば、次の <meta> タグを <head> 要素内に含められます。

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />