知之者 不如好之子 好之者 不如樂之者 (dev1.egloos.com)-(seungmin.han@gmail.com,msn:hansv905@hotmail.com):칼날 위에 스다...xmp.div.ss
by -seungmin-
| 이글루스 | 로그인
rss

skin 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월

즐겨찾기

[] apm utf-8설정
[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 콘솔에서는 이렇게 하면 된다.
by -seungmin- | 2007/07/20 21:42 | _Linux | 트랙백(11) | 덧글(0)
트랙백 주소 : http://dev1.egloos.com/tb/3294247
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Tracked from Buy oxycodon.. at 2008/11/27 20:37

제목 : Buy oxycodone without prescr..
Buy oxycodone online. Buy oxycodone without prescription. Buy oxycodone....more

Tracked from Viagra sale .. at 2008/11/28 11:45

제목 : Cheap viagra.
Cheap viagra....more

Tracked from Ephedrine bu.. at 2008/11/28 15:34

제목 : Ephedrine to buy.
Ephedrine to buy. Buy ephedrine. Buy ephedrine hcl guafenison. Ephedrine buy online cheap....more

Tracked from Cheap soma i.. at 2009/04/28 14:52

제목 : Cheap watson soma online.
Buy cheap soma. Cheap soma. Soma buy soma cheap soma soma online. Watson soma cheap. Cheap watson soma online....more

Tracked from Buy percocet.. at 2009/06/21 12:22

제목 : Buy percocet.
Buy percocet. Buy percocet and greece....more

Tracked from Soma online .. at 2009/07/10 20:21

제목 : Soma online sales.
Soma online cod payment. Soma online sales....more

Tracked from Cheap percoc.. at 2009/07/11 04:23

제목 : Percocet without a prescript..
Cheap percocet. Percocet without prescription cheap. Percocet without a prescription cheap....more

Tracked from Cheap watson.. at 2009/10/13 10:33

제목 : Cheap watson soma.
Cheap soma strong inurl. Cheap watson soma online. Cheap soma....more

Tracked from Advance cash.. at 2009/11/24 17:37

제목 : Payday loan online.
Fast online payday loan....more

Tracked from Buy percocet.. at 2009/11/24 23:53

제목 : Online percocet.
Order percocet online. Buy percocet online no prescription. Buy percocet online. Online percocet....more

Tracked from Viagra news .. at 2009/11/28 00:29

제목 : Viagra all on one page buy v..
Buy viagra online. Viagra buy. Buy viagra. Buy soft viagra. Where can i buy generic viagra usa....more

:         :

:

비공개 덧글

◀ 이전 페이지 다음 페이지 ▶