Windowsで UTF-8 でかかれた スクリプトを MyBatis Migration で MySQL に流し込むと文字化けエラーとなる件

## 困っていること

うっかり、macOS で作った MyBatis Migration 用の Script は大抵 UTF-8 で書いてしまうと思いますが、そんなスクリプトを Windows でそのまま動かすと、コメントもデータ内容も文字化けしてしまう事象にはまってしまいました。

以下、PowerShell は肌に合わないので、Git Bash で動かしてます。

## だめだった時
```
$ migrate.cmd up

 :
 :

------------------------------------------------------------------------
-- MyBatis Migrations SUCCESS
-- Total time: 1s
-- Finished at: Sat Jul 09 16:07:16 JST 2022
-- Final Memory: 15M/500M
------------------------------------------------------------------------
```

## MySQL で確認
```
mysql> set character_set_client=utf8mb4;
Query OK, 0 rows affected (0.00 sec)

mysql> set character_set_connection=utf8mb4;
Query OK, 0 rows affected (0.00 sec)

mysql> set character_set_results=utf8mb4;
Query OK, 0 rows affected (0.00 sec)

mysql> show full columns from role;
+------------+--------------+-----------------+------+-----+---------+----------------+---------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field      | Type         | Collation       | Null | Key | Default | Extra          | Privileges                      | Comment
                                                                                                                                                                                      |
+------------+--------------+-----------------+------+-----+---------+----------------+---------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| id         | int          | NULL            | NO   | PRI | NULL    | auto_increment | select,insert,update,references | ID:繧ｪ繝ｼ繝医う繝ｳ繧ｯ繝ｪ繝｡繝ｳ繝�
                                                                                                                                                           |
| role       | varchar(50)  | utf8_general_ci | NO   | UNI | NULL    |                | select,insert,update,references | 讓ｩ髯�:USER:蛻ｩ逕ｨ閠�,APPLICANT:逕ｳ隲玖��,APPROVER:謇ｿ隱崎��,ADMINISTRATOR:邂｡逅�閠�,遲�縺ｾ繧∫ｷｨ髮�閠��ｼ哥 |
| role_name  | varchar(200) | utf8_general_ci | NO   |     | NULL    |                | select,insert,update,references | 讓ｩ髯仙錐
                                                                                                                                                                                |
| version_no | int          | NULL            | NO   |     | NULL    |                | select,insert,update,references | 繝舌�ｼ繧ｸ繝ｧ繝ｳNo
                                                                                                                                                                       |
| created_at | datetime     | NULL            | NO   |     | NULL    |                | select,insert,update,references | 逋ｻ骭ｲ譌･
                                                                                                                                                                             |
| created_by | varchar(100) | utf8_general_ci | NO   |     | NULL    |                | select,insert,update,references | 逋ｻ骭ｲ閠�
                                                                                                                                                                             |
| updated_at | datetime     | NULL            | NO   |     | NULL    |                | select,insert,update,references | 譖ｴ譁ｰ譌･
                                                                                                                                                                             |
| updated_by | varchar(100) | utf8_general_ci | NO   |     | NULL    |                | select,insert,update,references | 譖ｴ譁ｰ閠�
                                                                                                                                                                             |
| is_actived | varchar(1)   | utf8_general_ci | NO   |     | NULL    |                | select,insert,update,references | 譛牙柑繝輔Λ繧ｰ:繧ｳ繝ｼ繝牙�､�ｼ壹ヵ繝ｩ繧ｰ�ｼ�0:繧ｪ繝輔��1:繧ｪ繝ｳ�ｼ�        
                                                                                                                          |
+------------+--------------+-----------------+------+-----+---------+----------------+---------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
9 rows in set (0.00 sec)


```
化け化けです。


## 解決方法
JAVACMD に ```-Dfile.encoding=UTF-8``` を渡してあげるとうまく行きました。

```
$ JAVACMD="java -Dfile.encoding=UTF-8" migrate.cmd up

 :
 :
コンソール上は文字化けしてますが・・
 :
------------------------------------------------------------------------
-- MyBatis Migrations SUCCESS
-- Total time: 1s
-- Finished at: Sat Jul 09 16:12:42 JST 2022
-- Final Memory: 15M/500M
------------------------------------------------------------------------
```

## MySQLで再確認
```
mysql> set character_set_client=utf8mb4;
Query OK, 0 rows affected (0.00 sec)

mysql> set character_set_connection=utf8mb4;
Query OK, 0 rows affected (0.00 sec)

mysql> set character_set_results=utf8mb4;
Query OK, 0 rows affected (0.00 sec)

mysql> show full columns from role;
+------------+--------------+-----------------+------+-----+---------+----------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field      | Type         | Collation       | Null | Key | Default | Extra          | Privileges                      | Comment
                                                                                              |
+------------+--------------+-----------------+------+-----+---------+----------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| id         | int          | NULL            | NO   | PRI | NULL    | auto_increment | select,insert,update,references | ID:オートインクリメント
                                                                                    |
| role       | varchar(50)  | utf8_general_ci | NO   | UNI | NULL    |                | select,insert,update,references | 権限:USER:利用者,APPLICANT:申請者,APPROVER:承認者,ADMINISTRATOR:管理者 |
| role_name  | varchar(200) | utf8_general_ci | NO   |     | NULL    |                | select,insert,update,references | 権限名
                                                                                           |
| version_no | int          | NULL            | NO   |     | NULL    |                | select,insert,update,references | バージョンNo
                                                                                         |
| created_at | datetime     | NULL            | NO   |     | NULL    |                | select,insert,update,references | 登録日
                                                                                           |
| created_by | varchar(100) | utf8_general_ci | NO   |     | NULL    |                | select,insert,update,references | 登録者
                                                                                           |
| updated_at | datetime     | NULL            | NO   |     | NULL    |                | select,insert,update,references | 更新日
                                                                                           |
| updated_by | varchar(100) | utf8_general_ci | NO   |     | NULL    |                | select,insert,update,references | 更新者
                                                                                           |
| is_actived | varchar(1)   | utf8_general_ci | NO   |     | NULL    |                | select,insert,update,references | 有効フラグ:コード値：フラグ（0:オフ、1:オン）
                                                                          |
+------------+--------------+-----------------+------+-----+---------+----------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
9 rows in set (0.00 sec)
```
文字化け解消されました。