이모지 사용하기(utf8mb4 설정하기) 정보
이모지 사용하기(utf8mb4 설정하기)본문
버전 5.4.2.3을 설치해서 테스트 해 보니
define('G5_DB_CHARSET', 'utf8mb4');
만 변경하면 utf8mb4_unicode_ci와 InnoDB로 생성이 됩니다.
자세한 내용은 https://docker.apachezone.com/bbs/board.php?bo_table=blog&wr_id=46
=====
해피정 님의 https://www.happyjung.com/lecture/2503 을 글을 보면서 처리하다 보니..
최신 그누보드 5.4.2의 config.php에 아래와 같이 되어 있어서
// Set Databse table default engine is Databse default_storage_engine, If you want to use MyISAM or InnoDB, change to MyISAM or InnoDB.
define('G5_DB_ENGINE', 'InnoDB');
// Set Databse table default Charset
// utf8, utf8mb4 등 지정 가능 기본값은 utf8, 설치전에 utf8mb4 으로 수정시 모든 테이블에 이모지 입력이 가능합니다. utf8mb4 는 mysql 또는 mariadb 5.5 버전 이상을 요구합니다.
define('G5_DB_CHARSET', 'utf8mb4');
그랬더니 잘되네요
그런데 새로 게시판을 만들어 보면 제대로 안되네요.
해피정 님의 글을 보니.
adm/sql_write.sql 파일을 참조해서 새로운 게시판을 만드는 것 같습니다.
그래서 여기를 수정해야 됩니다. 엔진은 원하시는 것으로.. (여기선 InnoDB)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNMIC;
lib/common.lib.php에
$schema_create .= $crlf . ') ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC';
위의 두가지를 변경하니 게시판이 제대로 만들어 지는 것 같습니다.
3
댓글 10개
이것 하나만 바꾸면 됩니다.
@마젠토
선생님 항상 좋은 팁 감사합니다!
connfig.php 에서 수정했는데, 반영이 안되는것 같아 문의드립니다.
혹시.. 아래 내용에 따라, 설치 후에 수정하면.. 적용이 안되는 건가요?
// Set Database table default Charset
// utf8, utf8mb4 등 지정 가능 기본값은 utf8, 설치전에 utf8mb4 으로 수정 시 모든 테이블에 이모지 입력이 가능합니다.
// utf8mb4 인코딩은 MySQL 또는 MariaDB 5.5 버전 이상을 요구합니다.
define('G5_DB_CHARSET', 'utf8mb4');