BOARD

문제 해결

그누보드4 MySQL 데이터베이스 문자셋 인코딩 설정 및 한글 깨짐 해결

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 19회 작성일 26-09-16 15:53

본문

그누보드4 MySQL 데이터베이스 문자셋 인코딩 설정 및 한글 깨짐 해결

그누보드4 운영 시 MySQL 서버 기본 문자셋(latin1)으로 인해 발생하는 한글 깨짐 및 저장 오류의 원인을 파악하고, 설정 파일 수정과 테이블 생성 구문 변경을 통해 실질적으로 해결하는 방법을 안내합니다.

그누보드4 한글 깨짐 원인

MySQL 서버의 기본 문자셋이 latin1으로 설정된 환경에서 그누보드4를 운영할 경우, 애플리케이션의 인코딩(UTF-8 또는 EUC-KR)과 데이터베이스 서버의 설정이 일치하지 않아 한글 데이터가 깨지거나 저장되지 않는 현상이 발생할 수 있습니다. 애플리케이션에서 사용하는 인코딩(UTF-8 또는 EUC-KR)과 데이터베이스 서버의 기본 설정이 서로 일치하지 않아, 데이터베이스 서버가 전달받은 한글 데이터를 올바르게 해석하지 못해 발생합니다.

그누보드4 데이터베이스 연결 문자셋 강제 지정 방법

그누보드4 운영 환경에서 MySQL 서버의 기본 문자셋 설정으로 인해 한글 데이터가 깨지거나 저장되지 않는 문제를 해결하려면, 데이터베이스 연결 시점에 문자셋을 명시적으로 설정해야 합니다. 수정 전 반드시 해당 파일들을 백업하십시오.

1. /common.php 파일 수정

  • 추가 위치: /common.php 파일의 $set_time_limit 설정 아래
  • 추가할 코드:
@mysql_query("set names utf8"); // 한글 문제 해결을 위해 추가

2. /lib/common.lib.php 파일 수정

  • 추가 위치: /lib/common.lib.php 파일의 sql_connect 및 sql_select_db 함수 내부
  • 추가할 코드:
@mysql_query("set names utf8"); // 한글 문제 해결을 위해 추가

참고 사항: 그누보드 4.30.00 이상 버전은 $g4['charset'] 값을 확인하여 동적으로 설정하는 로직을 사용하므로, 해당 버전을 사용 중이라면 기존 로직을 먼저 확인한 뒤 수정하십시오.

테이블 생성 시 문자셋 명시 파일

신규 설치나 테이블 생성 시 문자셋을 올바르게 지정하려면 다음 두 개의 파일을 수정해야 합니다.

  • /adm/sql_write.sql
  • /install/sql_gnuboard4.sql

위 파일들의 테이블 생성 구문 끝에 문자셋을 다음과 같이 명시합니다.

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

설정 변경 후 게시판에 한글을 입력하여 정상적으로 저장 및 출력되는지 확인하십시오.

DB 연결 오류 발생 시 원본 파일 복구 방법

그누보드 설정 변경 후 DB 연결 오류가 발생할 경우, 코드 수정 전에 백업해둔 원본 파일을 복구하여 이전 상태로 되돌려야 합니다. 수정 작업 전 반드시 대상 파일들을 백업한 뒤 진행해야 안전하게 이전 상태로 복원할 수 있습니다.

함께 보면 좋은 글

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.