그누보드4 DB 이전 후 한글 깨짐 현상 해결 방법
페이지 정보

본문
데이터베이스 이전 후 발생한 한글 깨짐 원인과 lib/common.lib.php 파일 수정 절차를 안내합니다.
그누보드4 DB 이전 후 한글 깨짐 원인
데이터베이스를 다른 서버로 이전한 후 웹사이트에 접속했을 때 한글이 깨져서 출력되는 현상은 DB 연결 과정에서 문자셋(Character Set)이 올바르게 설정되지 않아 발생합니다.
그누보드4 DB 이전 후 한글 깨짐 해결 방법
그누보드4 데이터를 다른 서버로 이전한 뒤 웹사이트에 한글이 깨지는 현상이 발생하면, 공통 라이브러리 파일인 lib/common.lib.php를 수정해 DB 연결 시 문자셋을 utf8로 설정해야 합니다.
수정 전 백업 및 적용 절차
- FTP 등을 통해 서버에 접속합니다.
lib/common.lib.php파일을 다운로드하여 다른 이름으로 복사해 백업합니다.- 파일 내
sql_select_db함수를 찾습니다. - 함수 내부 상단에
@mysql_query("SET CHARACTER SET utf8");코드를 추가합니다. - 수정된 파일을 서버에 업로드합니다.
수정 전후 코드 비교
// 수정 전
function sql_select_db($db, $connect) {
return @mysql_select_db($db, $connect);
}
// 수정 후
function sql_select_db($db, $connect) {
@mysql_query("SET CHARACTER SET utf8");
return @mysql_select_db($db, $connect);
}
적용 후 확인 및 주의사항
수정 후 웹사이트에 접속해 한글이 정상적으로 출력되는지 확인합니다. 만약 사이트 접속 오류가 발생하면 미리 백업해 둔 파일을 다시 업로드하여 즉시 복구할 수 있습니다.
이 방법은 mysql_query 함수를 사용하므로 그누보드4 환경에서만 유효하며, PHP 7.0 이상 환경에서는 해당 함수가 제거되어 작동하지 않습니다.
코드 수정 전 백업 및 확인 사항
작업 중 발생할 수 있는 사이트 접속 오류에 대비하기 위해 코드 수정 전 반드시 백업과 확인 절차를 거쳐야 합니다.
수정 전 백업 절차
- 작업 전 반드시
lib/common.lib.php파일을 다른 이름으로 복사하여 백업해 두어야 합니다. - 문제가 발생할 경우 백업 파일을 원본 이름으로 되돌려 즉시 복구할 수 있습니다.
- FTP 등을 통해 서버에 접속한 뒤
lib/common.lib.php파일을 다운로드하여 백업합니다.
수정 전후 코드 비교
파일 내 sql_select_db 함수를 찾아 함수 내부 상단에 @mysql_query("SET CHARACTER SET utf8"); 코드를 추가합니다.
- 수정 전
function sql_select_db($db, $connect) {
return @mysql_select_db($db, $connect);
}
- 수정 후
function sql_select_db($db, $connect) {
@mysql_query("SET CHARACTER SET utf8");
return @mysql_select_db($db, $connect);
}
적용 후 확인 및 복구
수정 후 웹사이트에 접속하여 한글이 정상적으로 출력되는지 확인합니다. 만약 사이트 접속 오류가 발생한다면, 미리 백업해둔 common.lib.php 파일을 다시 업로드하여 즉시 복구해야 합니다.
PHP 환경별 적용 가능 여부
그누보드4 DB 이전 후 한글 깨짐 현상을 해결하기 위해 lib/common.lib.php 파일을 수정하는 방식은 mysql_query 함수를 사용합니다. 따라서 PHP 7.0 미만 환경에서만 유효합니다.
주의사항 및 제약 사항
- PHP 7.0 이상 환경:
mysql_query함수가 제거되어 해당 방법이 작동하지 않습니다. - 적용 대상: 최신 PHP 환경으로 업그레이드된 서버에서는 사용할 수 없으며, 오직 그누보드4 환경에서만 유효합니다.
상황별 판단 가이드
| 내 상황 | 선택 기준 | 다음 행동 |
|---|---|---|
| PHP 7.0 미만 환경의 그누보드4에서 DB 이전 후 한글 깨짐 발생 | lib/common.lib.php 수정 가능 여부 | 원본 파일 백업 후 sql_select_db 함수 상단에 @mysql_query("SET CHARACTER SET utf8"); 코드 추가 |
| PHP 7.0 이상 환경으로 업그레이드된 서버 | mysql_query 함수 사용 불가 | 해당 방식 적용 중단 및 서버 환경에 맞는 DB 연결 설정 확인 |
| 코드 수정 후 사이트 접속 오류 발생 | 백업 파일 유무 | 즉시 백업해둔 lib/common.lib.php 파일을 서버에 재업로드하여 복구 |
실전 FAQ
Q. 코드를 수정한 뒤 사이트에 접속 오류가 발생하면 어떻게 하나요?
- 대안: 본문 '수정 전 백업 및 적용 절차'에서 안내한 백업 파일을 FTP로 다시 업로드하여 즉시 원상 복구하십시오.
Q. PHP 7.0 이상 환경에서는 왜 이 방법을 사용할 수 없나요?
- 예외: 본 해결 방식은 구버전 PHP 함수인
mysql_query를 사용합니다. PHP 7.0 이상에서는 해당 함수가 제거되어 작동하지 않으므로, 반드시 PHP 7.0 미만 환경에서만 적용해야 합니다.
함께 보면 좋은 글
참고자료
기타 참고자료
- 이전글그누보드4 환경에서 이미지 출력 오류 해결 및 경로 상수 확인 26.09.16
- 다음글그누보드 소셜 로그인 이메일 미수집 중복 가입 오류 해결 방법 26.09.16
댓글목록
등록된 댓글이 없습니다.