現在、PHPで次のコマンドを使用して文字セットを設定しています。UTF-8私たちのアプリケーションでは。
これは少しオーバーヘッドがかかるため、これを MySQL のデフォルト設定として設定したいと思います。これを /etc/my.cnf または別の場所で行うことができますか?
SET NAMES 'utf8'
SET CHARACTER SET utf8
/etc/my.cnf でデフォルトの文字セットを探しましたが、文字セットに関する情報は何も見つかりません。
この時点で、MySQL の文字セットと照合変数を UTF-8 に設定するために次の操作を実行しました。
skip-character-set-client-handshake
character_set_client=utf8
character_set_server=utf8
これは正しい対処方法でしょうか?
ベストアンサー1
デフォルトをUTF-8に設定するには、my.cnf/my.iniに次のコードを追加します。
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
collation-server = utf8mb4_unicode_520_ci
init-connect='SET NAMES utf8mb4'
character-set-server = utf8mb4
既存の DB の文字セットを変更したい場合はお知らせください。質問では直接指定されていなかったので、それが目的かどうかはわかりません。
編集: はUTF-8 のサブセットにすぎないため、元の回答でutf8
は に置き換えました。MySQL と MariaDB はどちらも UTF-8 を呼び出します。utf8mb4
utf8
utf8mb4