Mysql 한글깨짐 처리해주기


PHP나 JSP에서 한글이 ???(물음표)로 뜨거나 깨질 때 Mysql 설정을 바꿔보자.

mysql에 로그인 해서
1
show variables like 'c%';
cs\

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
+--------------------------+------------------------------+
| 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                          |
+--------------------------+------------------------------+
cs
보통 몇개 설정들이 latin으로 되어있는데 전부 utf8로 바꿔주면 된다.

Mysql 버전 확인하기

1
$mysql --version
cs
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 재시작 
1
sudo service mysql restart
cs


왜 설정파일을 나눠놨는지 모르겠다...



댓글

이 블로그의 인기 게시물

Filter url 제외시키기

[Spring,Java] Validator 구현하기

[Spring] Mock framework에 대하여