markdown MySQL的の文字コードを确认·设定する

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown MySQL的の文字コードを确认·设定する相关的知识,希望对你有一定的参考价值。

# MySQLの文字コードを確認・設定する

## 現在の設定を確認する
``` mysql
mysql> SHOW VARIABLES LIKE '%char%';
+--------------------------+--------------------------------+
| Variable_name            | Value                          |
+--------------------------+--------------------------------+
| character_set_client     | latin1                         |
| character_set_connection | latin1                         |
| character_set_database   | utf8mb4                        |
| character_set_filesystem | binary                         |
| character_set_results    | latin1                         |
| character_set_server     | utf8mb4                        |
| character_set_system     | utf8                           |
| character_sets_dir       | /usr/share/mysql-8.0/charsets/ |
+--------------------------+--------------------------------+
8 rows in set (0.05 sec)

```

## 各項目の説明
| 項目                     | client/server | 説明                                                                                                                               |
|--------------------------|---------------|------------------------------------------------------------------------------------------------------------------------------------|
| character_set_client     | client        | クライアントがサーバにクエリを送信する際に使用                                                                                     |
| character_set_connection | client        | クライアントが送ったクエリをサーバが解析する際に使用                                                                               |
| character_set_database   | server        | サーバのデフォルトキャラクタセット。LOAD DATA INFILE文はこの指定が使用される。 mysql起動時にcharacter_set_serverの値が適用される。 |
| character_set_filesystem | ー            |                                                                                                                                    |
| character_set_results    | server        | サーバがクライアントにクエリ結果を送る時に使用                                                                                     |
| character_set_server     | server        | サービス起動時のデフォルトキャラクタセット                                                                                         |
| character_set_system     | ー            | ファイル名をこのキャラクタセットで扱う                                                                                             |
| character_sets_dir       | ー            | キャラクタセットを扱う上で必須となるファイルを配置しているディレクトリ                                                             |


## 設定を変更する
基本的に character_set_filesystem, character_sets_dir 以外を utf8 にしておけばOK。

### 設定ファイルを変更する
以下のように my.conf がインクルードできるようになっていれば、以下のファイルを作成する
``` sh
less /etc/mysql/my.cnf
# Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
#
...
# Custom config should go here
!includedir /etc/mysql/conf.d/
```

``` sh
# ここでは encoding.cnf だけどファイル名は何でもOK
vi /etc/mysql/conf.d/encoding.cnf
```

``` ini
# /etc/mysql/conf.d/encoding.cnf
[mysqld]
default-character-set = utf8
[client]
default-character-set = utf8
```

### mysqlを再起動する
Dockerを使っているなら、ボリュームを指定してやる。


## 参考
- [mysqlで文字コードをutf8にセットする](https://qiita.com/YusukeHigaki/items/2cab311d2a559a543e3a)
- [実験用にmy.cnfを編集しやすくする。 Serversman@VPSにMySQLをインストールした際の備忘録(2) - kanonjiの日記](http://d.hatena.ne.jp/kanonji/20111129/1322553964)
- 

以上是关于markdown MySQL的の文字コードを确认·设定する的主要内容,如果未能解决你的问题,请参考以下文章

markdown 开いているファイルの文字コードを変换する

apache_conf 文字コードを指定する。

text nkfを用いてカレントディレクトリにあるファイルの文字コードを推测#code #sh

markdown MySQL的のオートコミット

markdown MySQL的サーバの开始コマンド

markdown Redis的SortedSet的のをコピー