Redmine 설치하여 한글을 입력해보니 한글이 깨져서 나왔다.
이럴때 MySQL을 UTF8로 설정해주면 문제를 해결할 수 있다.
=========================================================
가장 먼저 MySQL에 들어가서 현재 Redmine에서 사용하는 데이터베이스의 문자셋을 확인한다.
데이터베이스의 문자셋이 latin1으로 되어 있는데 이것을 UTF8로 바꿔주도록 하자.
mysql 설정 파일인 /etc/mysql/mysql.cnf 파일의 마지막에 아래 내용을 추가해 준다.
그리고는 Redmine에서 사용하는 데이터베이스를 삭제하였다가 다시 생성해준다.
Redmine이 설치된 폴더로 이동하여 DB 초기화 작업을 해준다.
이제 다시 MySQL에 들어가서 생성된 데이터베이스의 설정 속성을 확인해보자.
데이터베이스의 문자셋은 utf8로 변경되었다.
Redmine 페이지를 열고 한글 입력을 해보면 한글이 깨지지 않고 잘 뜨는 것을 확인할 수 있을 것이다.
이럴때 MySQL을 UTF8로 설정해주면 문제를 해결할 수 있다.
=========================================================
가장 먼저 MySQL에 들어가서 현재 Redmine에서 사용하는 데이터베이스의 문자셋을 확인한다.
mysql> use redmine;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show variables like 'c%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
| collation_connection | latin1_swedish_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
| completion_type | 0 |
| concurrent_insert | 1 |
| connect_timeout | 10 |
+--------------------------+----------------------------+
14 rows in set (0.00 sec)
mysql>
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show variables like 'c%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
| collation_connection | latin1_swedish_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
| completion_type | 0 |
| concurrent_insert | 1 |
| connect_timeout | 10 |
+--------------------------+----------------------------+
14 rows in set (0.00 sec)
mysql>
데이터베이스의 문자셋이 latin1으로 되어 있는데 이것을 UTF8로 바꿔주도록 하자.
mysql 설정 파일인 /etc/mysql/mysql.cnf 파일의 마지막에 아래 내용을 추가해 준다.
[client]
default-character-set=utf8
[mysqld]
init_connect=SET collation_connection = utf8_general_ci
init_connect=SET NAMES utf8
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci
[mysql]
default-character-set=utf8
default-character-set=utf8
[mysqld]
init_connect=SET collation_connection = utf8_general_ci
init_connect=SET NAMES utf8
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci
[mysql]
default-character-set=utf8
그리고는 Redmine에서 사용하는 데이터베이스를 삭제하였다가 다시 생성해준다.
mysql> drop database redmine;
mysql> create database redmine default character set utf8 collate utf8_general_ci;
mysql> create database redmine default character set utf8 collate utf8_general_ci;
Redmine이 설치된 폴더로 이동하여 DB 초기화 작업을 해준다.
# rake db:migrate RAILS_ENV="production"
이제 다시 MySQL에 들어가서 생성된 데이터베이스의 설정 속성을 확인해보자.
mysql> use redmine;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Dtabase changed
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 | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | latin1_swedish_ci |
| completion_type | 0 |
| concurrent_insert | 1 |
| connect_timeout | 10 |
+--------------------------+----------------------------+
14 rows in set (0.00 sec)
mysql>
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Dtabase changed
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 | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | latin1_swedish_ci |
| completion_type | 0 |
| concurrent_insert | 1 |
| connect_timeout | 10 |
+--------------------------+----------------------------+
14 rows in set (0.00 sec)
mysql>
데이터베이스의 문자셋은 utf8로 변경되었다.
Redmine 페이지를 열고 한글 입력을 해보면 한글이 깨지지 않고 잘 뜨는 것을 확인할 수 있을 것이다.