반응형
안녕하세요
코띵이입니다 :)
mysql 사용 시
인코딩이 제대로 안 되어
한글이 깨지는 문제가
발생했을 때
해결방법을 알려드리겠습니다.
먼저 인코딩 설정을 확인합니다.
mysql> show variables like 'c%'; |
한글을 제대로 인식하기 위해서는
utf8로 설정되어야 하는데
다음과 같이 다르게 되어있는 것을
확인할 수 있습니다.
이를 변경하기 위해서는
설정파일을 변경해야합니다.
$> vi /etc/my.cnf |
client, mysqld, mysql
설정을 해줍니다.
여기서 주의할 점은
mysql 5.4버전 이하일 경우에만
저렇게 설정해줬을 때
정상적으로 동작합니다.
하지만 mysql 5.5버전 이상일 경우
mysql 서비스가 실행되지 않습니다.
character-set-server 와
collation_server는
제거합니다.
그 후에, mysql을 재실행해봅니다.
$> service mysqld restart |
다시 인코딩 상태를 확인해봅니다.
3번째 character_set_database와
11번째 collation_database가
변경되지 않은 것이 보입니다.
그렇다면 어떻게 변경해야할까요?
데이터베이스에 따로
설정해주는 것입니다.
mysql 데이터베이스를 변경해주면
이후 생기는 데이터베이스에는
자동으로 적용됩니다.
> alter database mysql character set = utf8 collate = utf8_general_ci; |
mysql을 재실행 하면
정상적으로 변경된 것을
확인할 수 있습니다.
또한 테이블에도 설정이 따로 필요합니다.
user 테이블이 있다고 했을 때
다음과 같이 설정해줍니다.
> alter table user convert to character set utf8; |
이상입니다.
반응형
'Linux > CentOS' 카테고리의 다른 글
[ CentOS ] Vi Editor 명령어 정리 (0) | 2020.04.15 |
---|---|
[ CentOS ] mysql 에러 - Column 'Password' is not updatable. (0) | 2020.04.14 |
[ CentOS ] CentOS7 톰캣 서비스 등록하기 (0) | 2020.04.14 |
[ CentOS ] VMware 네트워크 연결 / 설정 (0) | 2020.04.14 |
[ CentOS ] mysql 대소문자 구분 없애기 (1) | 2020.04.14 |