그누보드4에서 그누보드5로 DB이전시 한글깨질때 방법 > 그누보드5 팁자료실

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!

그누보드5 팁자료실

그누보드4에서 그누보드5로 DB이전시 한글깨질때 방법 정보

그누보드4에서 그누보드5로 DB이전시 한글깨질때 방법

본문

제가 엄청나게 전문가거나 그런게 아니기에 경험에 비추어 말씀드리니 틀린 부분은 정정 부탁드립니다.


*** 아래를 시행하시기 전 DB를 우선적으로 백업해놓으시기 바랍니다. **


1. 저의 경우 기존 그누보드4 설치 서버가 대부분 euckr에 아주 오래된 서버가 대부분이라 해당서버에 그누5를 설치할 수가 없었습니다. 그래서, 새로 웹서버를 구입 후 거기에 먼저 그누5를 설치했습니다.



2. 설치된 서버에 gnu4폴더를 만들고 해당폴더에 기존 그누의 config.php파일을 옮겼습니다. 이때

**** 주의할점 반드시 config.php 파일을 editplus등으로 열어 "euc-kr"이라 적힌 부분을 찾아 "utf-8"로 바꿔쓴 후 파일인코딩을 utf8로 변환 후 저장한 후 옮겨야 합니다.(앞에것만 해도 되는지는 테스트 안해봤습니다. 그냥 확실한게 좋아 파일인코딩까지 utf8로 변환해 저장했습니다.)



3. 기존그누4 DB백업본을 에디트플러스와 같은 에디터에 불러와 소스를 확인합니다.



그누4 DB(aaa.sql)를 열어보면 sql 처음부분은 아래와 같습니다.



+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



-- MySQL dump 8.22

-- Host: localhost Database: aaa
---------------------------------------------------------
-- Server version 3.23.54-log

--
-- Table structure for table 'g4_auth'
--

CREATE TABLE g4_auth (
mb_id varchar(255) NOT NULL default '',
au_menu varchar(20) NOT NULL default '',
au_auth set('r','w','d') NOT NULL default '',
PRIMARY KEY (mb_id,au_menu)
) TYPE=MyISAM;

--
-- Dumping data for table 'g4_auth'
--



--
-- Table structure for table 'g4_board'
--

CREATE TABLE g4_board (
bo_table varchar(20) NOT NULL default '',
gr_id varchar(255) NOT NULL default '',
bo_subject varchar(255) NOT NULL default '',
.

.

.
bo_1_subj varchar(255) NOT NULL default '',
bo_1 varchar(255) NOT NULL default '',

PRIMARY KEY (bo_table)
) TYPE=MyISAM;
​.

.

.



+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



그리고 새롭게 설치한 그누5 sql 처음부분은 아래와 같습니다.



+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

-- phpMyAdmin SQL Dump
--
-- http://www.phpmyadmin.net
--
-- 호스트: localhost
-- 처리한 시간: 15-05-08 17:24
-- 서버 버전: 5.1.73
-- PHP 버전: 5.3.3

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- 데이터베이스: `aaa`
--

-- --------------------------------------------------------

--
-- 테이블 구조 `g5_auth`
--

CREATE TABLE IF NOT EXISTS `g5_auth` (
`mb_id` varchar(20) NOT NULL DEFAULT '',
`au_menu` varchar(20) NOT NULL DEFAULT '',
`au_auth` set('r','w','d') NOT NULL DEFAULT '',
PRIMARY KEY (`mb_id`,`au_menu`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

--
-- 테이블의 덤프 데이터 `g5_auth`
--​





+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



위의 두개를 비교해보면 서로 다른부분 중 언어셋 정의 부분이 있습니다.





4. 전 먼저 그누4 DB에서



시작 부분



-- MySQL dump 8.22

-- Host: localhost Database: aaa
---------------------------------------------------------
-- Server version 3.23.54-log



즉 "CREATE TABLE g4_auth (" 의 위로는 다 지워버리고





-- phpMyAdmin SQL Dump
--
-- http://www.phpmyadmin.net
--
-- 호스트: localhost
-- 처리한 시간: 15-05-08 17:24
-- 서버 버전: 5.1.73
-- PHP 버전: 5.3.3

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- 데이터베이스: `aaa`
--

--



을 넣었습니다.



다음으로 테이블 생성부분의 제일 마지막 ") TYPE=MyISAM;"을 전체 바꾸기로 ") ENGINE=MyISAM DEFAULT CHARSET=utf8;"로 변경했습니다.



5. 그리고 마지막으로 파일인코딩을 euc-kr에서 utf8로 변경해 저장했습니다.



6. 이 모두를 실행 후 phpMyAdmin에서 DB import로 불러왔습니다. 이때 생성된 DB를 확인 하셔서 한글 깨짐이 있는지 다시 확인 해보시는게 좋습니다.



7. 웹에서 g4_import.php를 실행했습니다.



8. 한글깨짐이 문제라면 영카트도 비슷할듯 합니다.


9. 참고로 그누5가 설치된 DB로 그누4 DB를 import해서 한글깨짐이 이상이 없는걸 확인 후 g4_import.php를 실행시켰는데 변환된 DB에서는 한글이 깨져서 보인다면 위 순번 "2"번의 주의사항을 하지 않았을겁니다.


... 이건 순전히 제가 개인적으로 여기저기 참고 후, 몇번의 반복을 통해 습득한거라 확실하다 말씀드릴 순 없습니다.

그렇기에 "이게 왜 이렇게 해야하나요?" 물으시면 전 답을 드릴 수 없습니다. 그저 신규설치한 서버도 utf-8이고 그누5도 utf-8이라 기존의 그누4 DB나 config.php에서 euc-kr을 전부 utf-8로 바꾸고 해당 파일들의 인코딩도 전부 utf-8로 바꾸면 되지 않을까 하는 생각에 막연하게 이것저것 해보다 보니....
적어도 저는 이 방법으로 DB이전시 한글깨짐을 해결하였기에 글을 남겨 봅니다. 그래서 이 중 어떤게 영향을 미쳐 한글이 안깨졌는지, 멀 빼도되는지, 원리가 뭔지는 모릅니다. 양해바랍니다^^;;;


혹 누군가 저처럼 힘들어하시는 분이 있을듯 싶고, 그 중 단 한분이라도 이 방법이 먹히지 않을까 싶어 남겨봅니다.

잘못남긴 글이거나 잘못된 정보라 여겨지면 관리자 삭제 부탁드립니다. ^^;;;;




**참고게시물 URL(아래 게시물 보고 따라한걸 한곳에 정리한거라 해당 게시물 정보 남깁니다.)**

http://sir.co.kr/bbs/board.php?bo_table=g5_tip&wr_id=1593&sfl=wr_subject%7C%7Cwr_content&stx=%EA%B7%B8%EB%88%84%EB%B3%B4%EB%93%9C5%EB%A1%9C+DB%EC%9D%B4%EC%A0%84

http://sir.co.kr/qa/?wr_id=13905&sfl=mb_id%2C2&page=2&lstx=chicpro#answer_13931

추천
0

댓글 4개

저 말씀하신대로 수정을 해서 phpmyadmin에서 가져오기를 하는데 오류

SQL 질의:

--
-- 데이터베이스: `scienceteam`
 CREATE TABLE g4_auth(

mb_id varchar( 255 ) NOT NULL default '',
au_menu varchar( 20 ) NOT NULL default '',
au_auth set( 'r', 'w', 'd' ) NOT NULL default '',
 PRIMARY KEY ( mb_id, au_menu )
) ENGINE = MYISAM DEFAULT CHARSET = utf8;



MySQL 메시지: 문서
 #1046 - No database selected

이렇게 뜨는데 알수 있을까요?
위에님 오류는 데이터베이스명을 선택하지 않고 가져와서 그럽니다. 주로 데이터베이스 홈화면에서 가져오기 하면 저렇게 됩니다. phpMyAdmin 화면 좌측 상단에 데이터베이스명을 선택하고 가져오기 하세요
전체 2,431 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT