티스토리 뷰


Apache + PHP + MySQL을 사용하여 홈페이지를 꾸밀 때 고려해야 할 사항이 있다.

기존에는 euckr을 많이 사용하여 예전 PHP책을 보거나 예제를 보면 모두 euckr로 인코딩 되어 있는 문제.

하지만 최근 세계화로 인해 여러나라의 문자를 인터넷이라는 공간에서 모두 사용하기 위해 유니코드 사용을 추천하고 있다.

그중 UTF-8로 인코딩하기 위한 준비

먼저 MySQL charset을 utf8로  바꿔줘야 한다. 요즘 많이 사용하는 APM7은 default charset이 utf8이라 바꿀 필요가 없지만..

alter database 디비이름 character set utf8 collate utf8_unicode_ci

또는 MySQL의 설정파일 my.ini (윈도우 기준)

[client]
default-character-set=utf8

[mysqld]
default-character-set=utf8

[mysqldump]
default-character-set=utf8

[mysql]
default-character-set=utf8


추가, database만 utf8로 되어 있으면 됨


다음으로 php파일의 인코딩을 ANSI에서 UTF-8로 바꿔주면 된다.

Editplus라는 툴을 사용한다면, 여러개의 파일 인코딩 형식을 변경할 수 있다.


 여러개의 파일을 open한 뒤


문서 -> 파일 인코딩 -> 다수 파일 인코딩 선택


파일 선택 후



인코딩 형식을 지정해 주면 된다.

그리고 PHP파일 안에 Head부분에 META를 기입

(head에 넣지 않고 다른 곳에 넣더라도, 자동으로 head로 들어 감)


<html>
<title></title>
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head><html>
<body>
</body>
<html>



마지막으로

php에서 디비를 열 때


mysql_query("SET NAMES UTF8');


를 추가하면 된다.

mysql에 적힌 charset은 UTF8이고 php에서 적용되는 charset은 UTF-8이므로 구별해야 한다.
즉 DB에서 사용하는 인코딩방식은 euckr, utf8처럼 하이픈이 없지만 php나 html에서 사용하는 인코딩 방식은 utf-8이나 euc-kr이다.

댓글
04-27 22:33
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday