|
知之者 不如好之子 好之者 不如樂之者 (dev1.egloos.com)-(seungmin.han@gmail.com,msn:hansv905@hotmail.com):칼날 위에 스다...xmp.div.ss by -seungmin- | 이글루스 | 로그인 |
|
|
이글루 파인더
이전블로그
2009년 12월2009년 11월 2009년 10월 2009년 09월 2009년 08월 2009년 07월 2009년 06월 2009년 05월 2009년 04월 2009년 03월 2009년 02월 2009년 01월 2008년 12월 2008년 11월 2008년 10월 2008년 09월 2008년 08월 2008년 07월 2008년 06월 2008년 05월 2008년 04월 2008년 03월 2008년 02월 2008년 01월 2007년 12월 2007년 11월 2007년 10월 2007년 09월 2007년 08월 2007년 07월 2007년 06월 2007년 05월 2007년 04월 2007년 03월 2007년 02월 2007년 01월 2006년 12월 2006년 11월 2006년 10월 2006년 09월 2006년 07월 2006년 06월 2006년 05월 2006년 04월 2006년 03월 2006년 01월 2005년 12월 2005년 11월 2005년 10월 2005년 09월 2005년 08월 2005년 07월 2005년 06월 2005년 04월 즐겨찾기
|
카테고리
전체_이집트_얘기 _인생_part 2 _개발_part 1 _Web2.0(AJAX) 관련 _부자오빠_part 2 _Idea! _WebApp _Linux _PDA GEOSS 미분류 이글루링크
▒ 제닉스의 사고뭉치 ▒明과 冥의 경계에서 sjjung's blog: 慢之作 a log http://rara1733.tistory... 알뜰한 블로그 최근 등록된 덧글
thank you ^^by Rkaqndtkfk at 11/19 많은 도움주셔서 고맙습.. by fyzh at 07/10 visual studio가, vis.. by Sengoku at 06/19 저두 마인드맵 좀 보내.. by 임혜번 at 06/18 안녕하세요 파워포인트 창.. by 궁금해여 at 06/04 퍼가여~ by netreet at 05/18 hoon9456@naver.com .. by 인자기 at 03/05 저도 좀 ㅋ ghdalsdml32.. by dfas at 02/26 저두 화일 좀 보내주시면 .. by kinuz at 02/19 저도 보내주세요 ㅋㅋㅋ .. by 아이도저?ㅋㅋ at 02/18 |
[http://nemesys.co.kr 발췌]
오늘 RSS를 테터의 DB로 저장하는 작업을 하다가 UTF-8 때문에 엄청난 삽질을 했습니다(...) 문제는 PHP로 RSS의 데이터를 DB의 테터 테이블로 직접 저장하면, 테터에서 깨져보이는 현상이었습니다. 저는 분명히Apach, PHP, MySQL에서 문자셋을 전부 utf-8을 셋팅했습니다(!) 그러나 경험부족에서 오는 무지함 때문에 미처생각치 못했던 부분... 바로 PHP에서 MySQL로 커넥션할 때, "set names utf-8"을 먼저 쿼리로 날려주지 않으면, MySQL 함수로 DB에 저장해봤자 UTF-8로 저장되지 않는다는 사실이었습니다. 결국 딱 한문장 추가해서 문제를 해결했습니다. 그런데 더 어이없는 건, 비록 엉터리로 DB에 저장을 해도, 그걸 그대로 가져와서 IE에다 뿌리면 제대로 잘 나옵니다!!IE에서는 문자열의 패턴을 통해서 인코딩 방식을 알아서 해석하기 때문이죠... 그런데 오히려 그 때문에 저는 "테터가 문제있는거아냐?" 하고 괜한 의심을 하게되서 왠종일 헛삽질을 한 계기가 되고 말았습니다(...) 그래서 오늘 일을 교훈삼아서, 다시는 실수하지 않도록 기록을 남겨봅니다. Apache (v2.2.2 기준) httpd.conf 에서 다음을 추가/수정 한다. AddDefaultCharset UTF-8 PHP (v5.1.4 기준) php.ini 에서 다음을 추가/수정 한다. default_charset = "UTF-8" MySQL (v5.0 기준) my.ini 에서 다음을 추가/수정 한다. [client] default-character-set=utf8 [mysql] ;default-character-set=latin1 // 주석 처리 default-character-set=utf8 [mysqld] ;default-character-set=latin1 // 주석 처리 default-character-set=utf8 init_connect=SET collation_connection = utf8_general_ci init_connect=SET NAMES utf8 character-set-server=utf8 collation-server=utf8_general_ci 그리고, Apache, MySQL 서버를 Restart 시킨다. PHP 소스에서... DB에 연결한 후에 "set names utf-8"을 쿼리로 날린다. MySQLi 확장라이브러리를 사용한다면 이렇게 하면 된다. $db = new mysqli('Host', 'User', 'Password', 'DatabaseName'); $db->query("set names utf8"); 추가 사항 PHP, HTML, TXT 파일등, 하여간 모든 파일을 UTF-8로 인코딩해서 저장할 것. 그래야 파일 내에 한글이 섞여있을때 문제가 발생하지않는다. 그리고 당연히 DB를 생성할 때도 문자셋을 UTF-8로 정의해야 한다. MySQL 콘솔에서는 이렇게 하면 된다.
|
||||||