컴퓨터 APM UTF-8 설정
2008.04.16 01:54
APM에서 UTF-8을 구현하려면 꽤 많은 부분을 수정해야 함.
1. apache 환경파일 편집 (httpd.conf)
2. php 환경파일 편집 (php.ini)
3. mysql 환경파일 편집 (my.cnf)
4. apache, mysql 서비스 재시작
5. mysql에서 캐릭터셋 확인 및 디비생성
6. php 소스코드에 mysql_query("set names utf8;"); 함수 추가
7. php 소스에 한글문자열이 있으면 파일저장할때 UTF-8 파일형식으로 저장
기본설정 클릭. 국가별 설정->"모든 받는 메시지에 기본 인코딩 사용"에는 체크를 해제.
(여기에 체크하면 EUC-KR 이나 다른 언어로 작성된 메일은 깨지게 됨)
1. apache/conf/httpd.conf 에서 캐릭터셋 수정
+-------------------------------------------------------+
AddDefaultCharset UTF-8
2. etc/php.ini 에서 캐릭터셋 수정
+-------------------------------------------------------+
;default_charset = "iso-8859-1"
default_charset = "utf-8"
3. etc/my.cnf (또는 my.ini) 에서 캐릭터셋 수정
+-------------------------------------------------------+
[client]
#password = your_password
default-character-set=utf8
[mysqld]
init_connect=SET collation_connection = utf8_general_ci
init_connect=SET NAMES utf8
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci
[mysqldump]
default-character-set = utf8
[mysql]
default-character-set=utf8
4. 환경변수를 모두 수정후 apache 및 mysql 서비스 재시작
+-------------------------------------------------------+
5. mysql에서 캐릭터셋 확인
+-------------------------------------------------------+
# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 247 to server version: 4.1.10a
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> use test
Database changed
mysql> show variables like 'c%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
| completion_type | 0 |
| concurrent_insert | 1 |
| connect_timeout | 5 |
+--------------------------+----------------------------+
12 rows in set (0.00 sec)
6. MySql에서 데이터베이스 생성
mysql> CREATE DATABASE 데이타베이스명 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> ALTER TABLE 테이블명 CHARSET=utf8
만약 위의 과정을 하기 전에 테이블을 생성해뒀다면 테이블 전체의 CHARSET 설정 변경으로는 기존에 생성된 컬럼에는 변경이 없다.
mysql> SHOW CREATE TABLE 테이블명;
명령어를 내리면 생성된 테이블의 CREATE DDL 문이 출력된다.
각 컬럼을 확인해봤을 때 CHARSET이 latin1으로 지정돼 있다면 각 컬럼을 일일이 ALTER TABLE CHANGE 로 바꾸던가 아니면 테이블을 다시 생성해야 한다.
1. apache 환경파일 편집 (httpd.conf)
2. php 환경파일 편집 (php.ini)
3. mysql 환경파일 편집 (my.cnf)
4. apache, mysql 서비스 재시작
5. mysql에서 캐릭터셋 확인 및 디비생성
6. php 소스코드에 mysql_query("set names utf8;"); 함수 추가
7. php 소스에 한글문자열이 있으면 파일저장할때 UTF-8 파일형식으로 저장
기본설정 클릭. 국가별 설정->"모든 받는 메시지에 기본 인코딩 사용"에는 체크를 해제.
(여기에 체크하면 EUC-KR 이나 다른 언어로 작성된 메일은 깨지게 됨)
1. apache/conf/httpd.conf 에서 캐릭터셋 수정
+-------------------------------------------------------+
AddDefaultCharset UTF-8
2. etc/php.ini 에서 캐릭터셋 수정
+-------------------------------------------------------+
;default_charset = "iso-8859-1"
default_charset = "utf-8"
3. etc/my.cnf (또는 my.ini) 에서 캐릭터셋 수정
+-------------------------------------------------------+
[client]
#password = your_password
default-character-set=utf8
[mysqld]
init_connect=SET collation_connection = utf8_general_ci
init_connect=SET NAMES utf8
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci
[mysqldump]
default-character-set = utf8
[mysql]
default-character-set=utf8
4. 환경변수를 모두 수정후 apache 및 mysql 서비스 재시작
+-------------------------------------------------------+
5. mysql에서 캐릭터셋 확인
+-------------------------------------------------------+
# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 247 to server version: 4.1.10a
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> use test
Database changed
mysql> show variables like 'c%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
| completion_type | 0 |
| concurrent_insert | 1 |
| connect_timeout | 5 |
+--------------------------+----------------------------+
12 rows in set (0.00 sec)
6. MySql에서 데이터베이스 생성
mysql> CREATE DATABASE 데이타베이스명 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> ALTER TABLE 테이블명 CHARSET=utf8
만약 위의 과정을 하기 전에 테이블을 생성해뒀다면 테이블 전체의 CHARSET 설정 변경으로는 기존에 생성된 컬럼에는 변경이 없다.
mysql> SHOW CREATE TABLE 테이블명;
명령어를 내리면 생성된 테이블의 CREATE DDL 문이 출력된다.
각 컬럼을 확인해봤을 때 CHARSET이 latin1으로 지정돼 있다면 각 컬럼을 일일이 ALTER TABLE CHANGE 로 바꾸던가 아니면 테이블을 다시 생성해야 한다.
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 | 추천 수 |
|---|---|---|---|---|---|
| 835 | 예송논쟁 | RanomA | 2003.01.14 | 3938 | 0 |
| 834 | 갑자사화와 연산군식의 개혁 | RanomA | 2003.01.14 | 2297 | 0 |
| 833 | 이인화와 영원한 제국 | RanomA | 2003.01.14 | 1636 | 0 |
| 832 |
이상한 신문...
| RanomA | 2003.01.14 | 1023 | 10 |
| 831 | 필요한 건 상상력과 꼼꼼함... 그리고 긴 호흡... | RanomA | 2003.02.02 | 1249 | 0 |
| 830 | 일단 1권 다 읽었음... | RanomA | 2003.02.03 | 1398 | 0 |
| 829 | 추가로 영화와 책의 차이점. | RanomA | 2003.02.04 | 1327 | 0 |
| 828 | 성종이 어우동에게 느꼈던 분노감 | RanomA | 2003.02.11 | 2450 | 0 |
| 827 | 비둘기 가족을 부른 이석이라는 사람... | RanomA | 2003.02.16 | 1571 | 0 |
| 826 | 대한민국의 맘에 안드는 점 하나... | RanomA | 2003.02.19 | 1284 | 0 |
| 825 | 저는 오늘 꽃을 받았어요. [3] | RanomA | 2003.02.23 | 1516 | 0 |
| 824 | 난방보다 냉방이 어려운 이유... | RanomA | 2003.02.24 | 1911 | 0 |
| 823 | 그들이 하고픈 말은... [1] | RanomA | 2003.03.04 | 1210 | 0 |
| 822 | 제로보드와 내 홈피 게시판의 차이... | RanomA | 2003.03.09 | 2271 | 0 |
| 821 |
자료실의 첨부파일 개수가 무한대로...
| RanomA | 2003.03.26 | 1157 | 0 |
| 820 | MySQL 백업관련 명령어 몇 개 | RanomA | 2003.03.28 | 1123 | 0 |
| 819 |
MySQL 매뉴얼
| RanomA | 2003.03.28 | 936 | 14 |
| 818 |
Informix FAQ for Monitor, Tune, Support
| RanomA | 2003.04.08 | 926 | 11 |
| 817 | '근로자의 날'보다는 '노동절'이라고 칭합시다. | RanomA | 2003.04.29 | 981 | 0 |
| 816 | 나이수~~~ 유시민~~~ [2] | RanomA | 2003.04.29 | 1047 | 0 |






