Q&A

DB characterset 관련

2025.07.25 22:39
29
0
0
CMS/프레임워크 Rhymix 2.1
개발 언어 PHP 7.4

오래전에 만든 웹사이트의 서버 환경 페이지를 보면 (라이믹스는 최신 버젼입니다)

 

db.type : mysql (innodb, utf8) 

 

요렇게 characterset이 utf8 으로 나옵니다. 최근에 만든 웹사이트들은 utf8mb4 으로 나오구요.

 

utf8 이면 이모지 표현에 문제가 있다던데 일단 이모지는 잘 표현이 되고 있습니다;

 

그래도 utf8mb4 으로 바꿔주는게 좋을듯 싶은데

 

챗gpt에 물어보니

 

ALTER DATABASE `rhymix` CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;

 

요런 명령어와

 

#!/bin/bash

DB_NAME="rhymix"
DB_USER="user"
DB_PASS="비밀번호"

# 테이블 목록 받아오기
TABLES=$(mysql -u$DB_USER -p$DB_PASS -N -e "SHOW TABLES FROM $DB_NAME")

# 각 테이블에 대해 인코딩 변경
for TABLE in $TABLES; do
    echo "변경 중: $TABLE"
    mysql -u$DB_USER -p$DB_PASS -e "ALTER TABLE \`$DB_NAME\`.\`$TABLE\` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
done
 

이런 스크립트로 DB를 수정하라고 하는데

 

라이믹스쪽에도 수정해야 하는 부분이 있을까요?

 

그리고 utf8mb4 으로 바꿨을때 문제가 발생할 여지도 있을까요?

댓글 0