Infra/[AWS]
[AWS] Mariadb encoding 오류
HiSmith
2023. 10. 2. 21:02
반응형
Incorrect string value: '\xEA\xB3\xB5\xEB\x8D\x95...' for column `myvalue`.`sub_member`.`content` at row 1
이런 에러가 떴다.
마리아 디비의 경우 기본 인코딩이 utf-8이 아니기 때문에,
해당 관련되서 파라미터 그룹을 설정해줘야한다.
aws RDS -> 파라미터 그룹을 수정해준다.
파라미터 검색창에 [character]을 입력하여 검색되는 아래 6개의 값을 [utf8]로 변경 후 [변경 사항 저장]을 누른다.
그 다음 파라미터 검색창에 [collation]을 입력하여 검색되는 아래 2개의 값을 [utf8_general_ci]로 변경 후 [변경 사항 저장]을 누른다.
- collation_connection
- collation_server
위와 같이 파라미터 그룹을 수정해주면
해당 인코딩 에러는 사라지게 된다.
만약에 파라미터그룹을 변경했으면 재부팅을 해주고
기존 꺼라면 수정중 -> 사용가능이라는 상태로 변경됬는지 확인 하고 넘어가면 된다.
마지막으로 확인작업을 해준다.
마리아 디비에서 아래 커맨드를 실행해준다.
show variables like 'c%';
그리고 해당 디비의 charset을 변경해준다(기존꺼는 수동으로 변경해줘야함)
ALTER DATABASE [데이터베이스명]
CHARACTER SET = 'utf8'
COLLATE = 'utf8_general_ci';
추가로 위와 같이 해도 기존것이 변경안되는 경우가 있다.
이럴때 는 아래 커맨드도 추가로 작성해서
테이블 및 컬럼의 인코딩 타입을 바꿔준다.
alter table myvalue.sub_member default character set utf8mb4;
alter table myvalue.sub_member MODIFY content VARCHAR(200) CHARACTER SET utf8mb4 NULL;
반응형