Mysql 한글깨짐
    
      2018-10-05
    
    
  Mysql 한글깨짐 처리해주기
HP나 JSP에서 한글이 ???(물음표)로 뜨거나 깨질 때 Mysql 설정을 바꿔보자.
Mysql 인코딩 확인
mysql에 로그인 해서
show variables like 'c%';
+--------------------------+------------------------------+
| Variable_name            | Value                        |
+--------------------------+------------------------------+
| character_set_client     | utf8                         |
| character_set_connection | utf8                         |
| character_set_database   | utf8                         |
| character_set_filesystem | binary                       |
| character_set_results    | utf8                         |
| character_set_server     | utf8                         |
| character_set_system     | utf8                         |
| character_sets_dir       | /usr/share/mariadb/charsets/ |
| check_constraint_checks  | ON                           |
| collation_connection     | utf8_general_ci              |
| collation_database       | utf8_general_ci              |
| collation_server         | utf8_general_ci              |
| completion_type          | NO_CHAIN                     |
| concurrent_insert        | AUTO                         |
| connect_timeout          | 10                           |
| core_file                | OFF                          |
+--------------------------+------------------------------+
보통 몇개 설정들이 latin으로 되어있는데 전부 utf8로 바꿔주면 된다.
Mysql 버전 확인하기
$ mysql --version
Mysql 5.7이상
mysql 버전 5.7 이상부터는 설정 파일이 나뉘어졌다.
[mysqld] 밑에 추가하기
mysqld는 /etc/mysql/mysql.conf.d/mysqld.cnf 에 적혀있음.
[mysqld]
init_connect = SET collation_connection = utf8_general_ci
init_connect = SET NAMES utf8
character-set-server = utf8
collation-server = utf8_general_ci
[client] 밑에 추가하기
client는 /etc/mysql/debian.cnf에 적혀있음.
[client]
default-character-set = utf8
[mysqldump] 밑에 추가하기
mysqldump는 /etc/mysql/conf.d/mysqldump.conf에 적혀있음.
[mysqldump]
default-character-set = utf8
[mysql] 밑에 추가하기
mysql은 /etc/mysql/conf.d/mysql.conf에 적혀있음
[mysql]
default-character-set = utf8
다 적고 mysql 재시작
$ sudo service mysql restart
설정파일을 나눠놔서 수정하기 번거로움이 있다. ㅠㅠ
