한글이 웹에서는 보이나 디비에서는 깨져 있는 상태 > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

한글이 웹에서는 보이나 디비에서는 깨져 있는 상태 정보

한글이 웹에서는 보이나 디비에서는 깨져 있는 상태

본문

한글이 웹에서는 보이나 디비에서는 깨져 있는 상태 
 
A라는 서버에서 B라는 서버로 계정을 옮기려고 할 때 나타나는 현상입니다.
 
A 서버는 php 에  mbstring 과 iconv 가 설치되어 있지 않습니다.
B 서버는 php 에  iconv 만 설치되어 있습니다.
 
A 서버 사용시 회원 가입 닉네임 입력 에러문제는
skin/member 의 ajax_mb_nick_check.php 를
//$reg_mb_nick = convert_charset('UTF-8','CP949',$reg_mb_nick);
이렇게 처리해서 사용해 왔습니다.
 
현재 계정을 이전하려고 
A 서버 PhpMyAdmin 에서 sql 내보내기로 DB를 다운 받아
B 서버 PhpMyAdmin 로 sql 화일을 업로드 했더니 한글이 모두 깨져 버립니다.
 
Collation 은 두 서버 모두 utf8_general_ci 입니다.
 
A 서버에서는 웹에서는 한글이 입력도 되고 잘 보입니다.
그러나 PhpMyAdmin 로 들어가서 DB 를 보면 한글이
모두 깨져 있는 상태로 보입니다.
 
웹에서는 감사합니다. 라고 잘 보이는 문장이
PhpMyAdmin 로 들어가서 DB 테이블을 열어보면
 
감사합니다.
 
라고 보입니다. 
DB에 들어가서 보면 깨져 있는데 웹에서는 멀쩡하고 보입니다. 
아주 희한합니다.
 
UTF-8 문제이가 싶어 A 서버의 다른 계정에는 UTF-8 버전으로 설치해 보았는데
동일한 현상이 나타납니다.
 
A 서버는 telnet 이 지원되지 않고 ftp만 지원되어 PhpMyAdmin 만 사용할 수 있고,
B 서버는 telnet 은 사용할 수 있습니다.
 
mbstring 과 iconv 가 없는 서버에서 사용한 DB를 PhpMyAdmin 로 다운받아
다른 서버로 한글이 보일 수 있게 옮길 수 있는 방법이 있을지요..
  • 복사

댓글 전체

음..일단은 db의 캐릭터셋을 확인해보세요.

만약에 ecukr로 되어있다면..덤프시에 깨지면

mysqldump [db명] [테이블명] --default-character-set=euckr --extended-insert=FALSE -p > [db명].[테이블명].sql

만약에 urf8로 되어있다면.. 덤프시에 깨지면

http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=58038&sca=&sfl=wr_name%7C%7Csubject&stx=%BC%DB%C8%BF%C1%F8&sop=and

둘다 귀찮으면, 단 root권한이 있을경우

my.cnf 파일을 열어서
[mysqldump]
default-character-set = utf8
추가 해주면 됨...
© SIRSOFT
현재 페이지 제일 처음으로