추천:0
조회:18524
UTF-8로 설치했는데도 글자가 깨져 이상하게 나올 때 한방에 해결하기 [2]
- 홈페이지
- http://ithiel.com
테크노트를 UTF-8로 설치했는데 글자가 깨져 이상하게 나올때
여러가지 해결 방법이 있겠지만 그 중에서 관리자님이 직접 알려주신 해법이
유용한 것 같아 올립니다. 테크노트에 올렸는데 당연히 테커스 가족 여러분들도
아셔야 할 내용이라 올립니다.
관리자님이 알려주신 방법인데 동일한 문제로 여러 어려움을 겪는 회원님들이
알면 도움이 될 것 같아 여러분을 위해 원질문자 수연이님의 양해를 얻어 직접 정리했습니다.
청주산의님의 방법도 포함했으며, utf-8 서버에 글자깨짐 현상이 일괄 정리되어
별 문제가 없을 것으로 생각합니다.
우선 utf-8로 설치했는데 글자가 깨지는 경우는 청주산의님이 아래처럼 설명해 주셨습니다.
lib.php 소스에서
$db_selected = @mysql_select_db($DB_access[4],$connect);
위 코드를 찾으십시오. 원본에선 120 번 줄 정도 입니다.
위 줄의 바로 아래에
@mysql_query("set names utf8");
이걸 새로 넣어 주십시오.
그런 다음, 현재 설치되어 있는 테크노트의
technote6/data/install/ 폴더안에 파일을 모두 삭제하고
웹부라우저로 http;//.......technote/admin.php 관리페이지 접속하면
처음 설치할때처럼 mysql 설정화면이 뜰것이니 그대로 셋팅 진행하면 됩니다.
서버환경 mysql / default-character-set 설정과
관련해서 그러한 현상이 나타나는 곳이 있습니다.
그리고 euc-kr로 설치했다가 다시 utf-8로 덮어쓰기해서 글자가 깨지는 경우는
관리자님이 직접 설명해 주셨습니다.
덮어쓰기로 설치했을 경우는 db에 이미 euc-kr 문자로 저장이 되어 있을 것이므로
그런 결과를 보일 수 있습니다.
이런 경우
lib.php 소스내의 설정항목 1번
$db_ident='a_tn';
을
$db_ident='aaa';
처럼 완전히 재 지정하고 현재 설치된 경로의 technote/data/ 폴더를 지워 버리고(혹은 다른이름으로 변경하고)
새로 data 폴더 생성화고 퍼미션 777 지정한다음 웹부라우저에서 http:// ...technote7/admin.php 로 접속하면
새로 설치화면이 나타날 것이니 위와 같이 진행 해 보십시오.
위의 경우가 아니고 처음부터 utf-8 버전을 설치했는데 그런다면
lib.php 소스에서
// @mysql_query("set names utf8"); // MySQL: utf-8 전용 서버환경에서 한글 깨질때 이 코드를 적용할것
위와 같은 줄을 찾아서
mysql_query("set names utf8"); // 이렇게 지정 했을때와
mysql_query("set names utf8"); // 이렇게 지정했을때를 비교해 보십시오.
이밖에 utf-8이라도 해외서버는 적용 ci가 다를 수 있으니
자신의 서버 MySQL Databases로 들어가서 테이블 작업을
utf8_general_ci로 하지말고 utf8_unicode_ci로 해보는 방법도 있습니다.
이상과 같은 위의 설명들을 잘 적용하면 utf-8 문제로 어려움을 겪을 일이 없을 것입니다.
유용하게 잘 사용하시기 바랍니다...
여러가지 해결 방법이 있겠지만 그 중에서 관리자님이 직접 알려주신 해법이
유용한 것 같아 올립니다. 테크노트에 올렸는데 당연히 테커스 가족 여러분들도
아셔야 할 내용이라 올립니다.
관리자님이 알려주신 방법인데 동일한 문제로 여러 어려움을 겪는 회원님들이
알면 도움이 될 것 같아 여러분을 위해 원질문자 수연이님의 양해를 얻어 직접 정리했습니다.
청주산의님의 방법도 포함했으며, utf-8 서버에 글자깨짐 현상이 일괄 정리되어
별 문제가 없을 것으로 생각합니다.
우선 utf-8로 설치했는데 글자가 깨지는 경우는 청주산의님이 아래처럼 설명해 주셨습니다.
lib.php 소스에서
$db_selected = @mysql_select_db($DB_access[4],$connect);
위 코드를 찾으십시오. 원본에선 120 번 줄 정도 입니다.
위 줄의 바로 아래에
@mysql_query("set names utf8");
이걸 새로 넣어 주십시오.
그런 다음, 현재 설치되어 있는 테크노트의
technote6/data/install/ 폴더안에 파일을 모두 삭제하고
웹부라우저로 http;//.......technote/admin.php 관리페이지 접속하면
처음 설치할때처럼 mysql 설정화면이 뜰것이니 그대로 셋팅 진행하면 됩니다.
서버환경 mysql / default-character-set 설정과
관련해서 그러한 현상이 나타나는 곳이 있습니다.
그리고 euc-kr로 설치했다가 다시 utf-8로 덮어쓰기해서 글자가 깨지는 경우는
관리자님이 직접 설명해 주셨습니다.
덮어쓰기로 설치했을 경우는 db에 이미 euc-kr 문자로 저장이 되어 있을 것이므로
그런 결과를 보일 수 있습니다.
이런 경우
lib.php 소스내의 설정항목 1번
$db_ident='a_tn';
을
$db_ident='aaa';
처럼 완전히 재 지정하고 현재 설치된 경로의 technote/data/ 폴더를 지워 버리고(혹은 다른이름으로 변경하고)
새로 data 폴더 생성화고 퍼미션 777 지정한다음 웹부라우저에서 http:// ...technote7/admin.php 로 접속하면
새로 설치화면이 나타날 것이니 위와 같이 진행 해 보십시오.
위의 경우가 아니고 처음부터 utf-8 버전을 설치했는데 그런다면
lib.php 소스에서
// @mysql_query("set names utf8"); // MySQL: utf-8 전용 서버환경에서 한글 깨질때 이 코드를 적용할것
위와 같은 줄을 찾아서
mysql_query("set names utf8"); // 이렇게 지정 했을때와
mysql_query("set names utf8"); // 이렇게 지정했을때를 비교해 보십시오.
이밖에 utf-8이라도 해외서버는 적용 ci가 다를 수 있으니
자신의 서버 MySQL Databases로 들어가서 테이블 작업을
utf8_general_ci로 하지말고 utf8_unicode_ci로 해보는 방법도 있습니다.
이상과 같은 위의 설명들을 잘 적용하면 utf-8 문제로 어려움을 겪을 일이 없을 것입니다.
유용하게 잘 사용하시기 바랍니다...
예랑맨
반갑습니다.
언제나 테커스와 함께...
반갑습니다.
언제나 테커스와 함께...