xamppからmysql利用時の文字化け問題


###恐竜名文字化け問題

![mysql_select_result_ng.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/494408/0a4c65e1-34f0-d579-f8cc-c32f9074bc19.jpeg)

__show create table テーブル名;__コマンドで文字コードを確認。
ラテン語になっている。

![mysql_select_result_ng2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/494408/a454ac9f-4bcd-f42d-2025-0ea6e36dafd9.jpeg)





##２．解決策

####(1).[mysqld]の編集

my.iniファイルの[mysqld]セクションの最後の「## UTF 8 Settings」を探す

__変更前__

```
## UTF 8 Settings
#init-connect=\'SET NAMES utf8\'
#collation_server=utf8_unicode_ci
#character_set_server=utf8
#skip-character-set-client-handshake
#character_sets-dir="C:/xampp/mysql/share/charsets"
```
↓utf-8に関する下記部分をコメントアウトする。

__変更後__

```
## UTF 8 Settings
init-connect='SET NAMES utf8'
collation_server=utf8_unicode_ci
character_set_server=utf8
skip-character-set-client-handshake
character_sets-dir="C:/xampp/mysql/share/charsets"
```

####(２).次に[client][mysqldump][mysql]の各最後に次の行を追加する。
__default-character-set=utf8mb4__


```
[client] 
# password       = your_password 
#port            = 3306
port            = 3308  
socket          = "C:/xampp/mysql/mysql.sock"
#下記を追記
default-character-set=utf8mb4
```

```
[mysqldump]
quick
max_allowed_packet = 16M
#下記を追記
default-character-set=utf8mb4
```

```
[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates
#下記を追記
default-character-set=utf8mb4
```

###(3).作成済みテーブルの文字コードの変更
下記コマンドで、文字コードを変更。

__ALTER TABLE tbl_dino CONVERT TO CHARACTER SET utf8mb4;__

```
MariaDB [db_dino]> show create table tbl_dino;
+----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table    | Create Table                                                                                                                                                                                                                                                                                                                                                                    |
+----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tbl_dino | CREATE TABLE `tbl_dino` (
  `id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
  `dname0` varchar(100) DEFAULT NULL,
  `type0` varchar(50) DEFAULT NULL,
  `n_src1` int(11) DEFAULT NULL,
  `type1` varchar(50) DEFAULT NULL,
  `n_src2` int(11) DEFAULT NULL,
  `type2` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 |
+----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

MariaDB [db_dino]>

```


###参考url

[XAMPPの文字化け回避メモ](https://qiita.com/guzuri/items/643c1311224e8d482278)
[my.iniファイルの確認と修正](https://www.adminweb.jp/xampp/mysql/index4.html)