UTF-8에 대하여... > 그누4 질문답변

그누4 질문답변

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

UTF-8에 대하여... 정보

UTF-8에 대하여...

본문

아..저는 현제 웹서버를 돌리고 있습니다만..아주아주아주아주 허접한 관리자입니다.
 
그리고, 이번에 서버를 업그레이드를 하면서,,OS부터,,apm까지 모조리...
다시 설치를 하게 될 예정입니다.
제가 궁금한건...
 
일단,
apm을 봤을때, apache, php, mysql에 대한 각각의 문자셋이 있습니다.
 
이중에, apache와 php는 httpd.conf를 살짝 건드리고,
계정에서.. .htaccess를 설정함으로써,,특정계정만 utf-8을 사용하게 할 수가 있지요.
 
그런데, mysql은 이걸로는 수정이 불가능하고, my.cnf를 수정해야할텐데...
 
질문1. 그누보드 utf-8버전을 쓸려면...3개가 모두 utf-8로 일치해야만..깨끗이..돌릴수 있나요? 아니면, apache, php만의 문자셋설정만으로도 제대로 돌아가나요?
질문2. 제 상식으론, euckr로 돌아가는 mysql에서 백업을 받고, utf-8로 돌아가는 mysql에서 복구는 힘들거 같은데..맞나요?
질문3. mysql은 my.cnf파일에서 문자셋정하는걸로 설정이 끝나는 건가요?
 
입니다..(ㅡㅜ)  허접한 질문이지만, 답변좀 부탁드리겠습니다.
 
감사합니다. 안녕히 계세요~!!! (__)
  • 복사

댓글 전체

웹서버의 파일만 utf-8이래도 돌아가긴 합니다...어짜피 입력->출력하는것은
페이지 인코딩방식일 뿐이지만...중요한건 db를 열어보면 다깨져있다는 것...그게 문제 인듯하옵니다...허접답변이옵니다..
안녕하세요.. utf-8로 고생하시는군요..
처음 말씀드릴수 있는것은 utf-8많은 부분에서 힘들답니다. 실명인증부분,결제모듈부분,기타등
그래도 utf-8로 가시겠다면 어쩔수 없지만요..

위에 말씀하신대로 apache,php,mysql모두 utf-8로 설정이 되어야 깨끗하게 돌아가는듯 합니다.
아니라면 iconv();나 mb_convert_encoding(); 함수를 통해서 문자셋(한글로된것)을 인코딩해줘야 한답니다. mysql은 euc-kr로 한후 위 두 함수를 통해서 해줄수도 있을꺼에요..

우선 mysql설치시 mysql 5라면 euc-kr로 설치를 꼭해주세염.. utf-8로 설치를 하시면 euc-kr캐릭터셋이 없답니다.. 이경우라도 다시 euc-kr로 재컴파일 해주면 생성되긴 합니다.
euc-kr로 설치 해주신다음 mysql콘솔상에서 utf-8로 변경해주시는게 좋습니당..

mysql>show variables like 'c%'; (캐릭터셋 확인)
mysql>set names utf8;
mysql>show variables like 'c%'; (캐릭터셋 확인)
해주시면 캐릭터 셋이 utf-8로 변경이 되구용..  my.cnf도 변경해주시구요..

euc-kr의 DB내용을 utf-8로 백업하는 방법은.. 우선 latin1으로 db를 백업 받습니다..
#mysqldump -u[userid] -p [table명] --default-character-set=latin1 > [파일명.dump]
이게 맞을라나 모르겠습니당.. 저같은경우는 첨에 그냥 utf-8로 백업을 받아서 했었던것 같아용
요근래 해볼려고 하니 또 않되는 부분이 있더라구요.. 일반적으로 latin1으로 백업받아서 utf-8로 하신다고들 하더군요..

이후에 백업받은 dump파일을 editplus같은 캐릭터셋 지정할수 있는 프로그램으로 열어서 utf-8로 변환후 저장하시고 복구하시면 되겠습니당..

여기서 그누보드를 euc-kr에서 utf-8로 옮길때 발생되었던 문제사항은
password 부분의 암호화가 다르더라구요.암호가 죄다 않먹습니당..
기존에 password가 암호화가 않되있다면 괜찮은데 되있다면 힘들답니당..

해당 테이블만 캐릭터셋을 변경할수도 있으니 이부분도 생각해보셔도 될듯 하구요..
그누보드에 원래 암호찾기 기능이 있으니 이걸 이용하셔도 될듯 하구용..
대신 주민번호도 암호화 되어있어서 이부분도 꼬인답니당..

참고 문서 입니당..

데이터 베이스 생성시 character set을 따로 지정할 수 있습니다.
(http://dev.mysql.com/doc/refman/5.0/en/create-database.html)

테이블 생성시 컬럼마다 character set을 설정할 수 있습니다.
(http://dev.mysql.com/doc/refman/5.0/en/create-table.html)
© SIRSOFT
현재 페이지 제일 처음으로