Windows Server 2016にMariaDBをインストールしました。
Windows Server 2008ではMySQLを使い、文字コードは「utf8」を使っていました。
今は、4バイト対応の「utf8mb4」の方がいいようですね。
< スポンサーリンク >
うちの職場はインターネットに繋がっていないローカルなネットワークだし、絵文字等は使わないので、「utf8」でいいような気もしますが、難しい漢字も4バイト対応のものがあるらしいので、とりあえず「utf8mb4」に設定しました。
その時の記録です。
OS:Windows Server 2016
MariaDB:10.5.6
MariaDBの文字コード確認
MariaDBを起動し「show variables like “char%”;」と入力しEnterを押します。
インストールしたままの状態では
character_set_client : cp932
character_set_connection : cp932
character_set_database : utf8
character_set_filesystem : binary
character_set_results : cp932
character_set_server : utf8
character_set_system : utf8
になっています。
変更方法
MariaDBがインストールされているフォルダの中の「data」フォルダの中の「my.ini」を書き換えます。
念のためにバックアップをとっておきます。
「my.ini」を右クリック>[編集]をクリックします。
「character-set-server」は「utf8」になっています。
[mysqld]の部分の
character-set-server=utf8mb4
に書き換え、
collation-server=utf8mb4_bin
を書き加え
[client]の部分に
default-character-set=utf8mb4
と書き加えます。
※collation-serverは照合順序になります。
・utf8mb4_bin:英字の大文字小文字を含めて全て区別。
・utf8mb4_general_ci:英字の大文字小文字は区別せず、他は全て区別。
・utf8mb4_unicode_ci:大文字小文字、全角半角を区別しない。
既定値は utf8mb4_general_ci
上書き保存します。
キーボードの[Windows]マーク+[R]を押して、「services.msc」と入力し[OK]をクリックします。
「MariaDB」を選択して「サービスの再起動」をクリックします。
コマンドプロンプトのMariaDBを再度起動し、「show variables like “char%”;」と入力しEnterを押して確認をすると「utf8mb4」に変わっています。
character_set_systemは「utf8」のままでいいようです。
こんな記事も書いています