커뮤니티

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 으로 바꿨을때 문제가 발생할 여지도 있을까요?

댓글 2

  • 2025.07.27 16:23 #1912804

    테이블 망가뜨리지 않고 성공적으로 수정하셨다면 (백업은 필수...)

    라이믹스 설정 파일인 files/config/config.php를 열어서

    db 항목 아래에 있는 charset을 utf8에서 utf8mb4로 바꿔주세요.

  • 2025.07.27 22:29 #1912876

    일단 백업을 해놓고 한번 시도를 해봐야겠습니다. 감사합니다