강의 컨설팅 트레이닝 무료진단 무료책자 마케팅편지 마케팅정보공유 다이어리 서비스제휴 고객센터

mysql 에서 utf-8 로 생성하기
작성자 : M 최고의하루
등록날짜 : 2008.12.24 14:04
2,680

아래글은 알짜초보님의 글로써 새글쓰기가 안돼신다고 댓글로 달려 있던것을 발췌하여 컬럼란으로 이동하였습니다. 원문은 http://www.powerdb.net/?inc=read&aid=24448&criteria=mysql&subcrit=qna&id=&limit=20&keyword=&page=1" 에서 4번째 댓글입니다. --[백록화]

 

----------------------------------------------------------------------------------

종래에는 홈페이지가 자국인들만 이용할 것을 예상하고 제작하므로써 외국인 즉, 비한글 사용자들에 대한 서비스를 미쳐 염두에 두지 못하므로써 한글이 ?????$%^&( 처럼 깨져 보이는 무지함을 보였던 것이 사실입니다.


이제는 홈페이지 제작도 유니코드(UTF-8) 인코딩 방식이 세계적 추세이며 이러한 추세에 맞추어 MySql도 기본언어를 utf8(UTF-8 인코딩) 방식으로 변경하였으므로, 홈페이지를 종래 euc-kr 등 한글로만 표기하던 방식도 UTF-8 인코딩 방식으로 업데이트해야 할 때 입니다. UTF-8 인코딩 방식은 한국어, 일어, 중국어, 태국어, 아랍어 등 만국어 표기가 가능한 방식입니다.

APM에서 UTF-8을 구현하려면 꽤 많은 부분을 수정해야 합니다 .
다음은 APM에서 UTF-8 구현 방법과 소스코드를 첨부합니다.
적용 환경
----------------
OS : WinXP SP2
Apache : httpd-2.0.52-3
PHP : php-5.0.3
MySQL : mysql-4.1.11
----------------

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 파일형식으로 저장
8. 웹브라우즈의 보기-인코딩-UTF-8로 선택

1. /etc/httpd/conf/httpd.conf 에서 캐릭터셋 수정
/*------------
AddDefaultCharset UTF-8

2. /etc/php.ini 에서 캐릭터셋 수정
/*------------
;default_charset = "iso-8859-1"
default_charset = "utf-8"

3. /etc/my.cnf 에서 캐릭터셋 수정
/*------------
[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

[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_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 |
| concurrent_insert | ON |
| connect_timeout | 5 |
+---------+-----------+
12 rows in set (0.00 sec)

* MySql에서 데이터베이스 생성
mysql>CREATE DATABASE 디비명 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

이 글에 대한 댓글이 총 3건 있습니다.

아웃룩 익스프레스에서 UTF-8 이든 다른 인코딩 방식의 이메일이든 깨지지 않고 수신하는 설정방법입니다. 위 본문의 9번 항목 추가입니다.

---------------------------------------------------------

9. 아웃룩 익스프레스 : 도구->옵션->읽기->글꼴->인코딩:유니코드(UTF-8)->
기본설정 클릭. 국가별 설정->"모든 받는 메시지에 기본 인코딩 사용"에는 체크를 해제.
(여기에 체크하면 EUC-KR 이나 다른 언어로 작성된 메일은 깨지게 됨)

알짜초보님이 2005-09-24 18:29:14에 작성한 댓글입니다. Edit

현재까지도 대부분의 웹사이트들이 euckr 로 작성되어 있는 실정이고...  어느순간 요이~땅 해서 모두 동시에 utf8 로 변환할 수도 없는 상태에서...  euckr 에서 utf8 로 자연스레 넘어갈 수 있는 방법이 필요한듯 합니다..  그럴려면 DB 차원에서 인코딩 변환이 가능해야 할듯한데...  여러방면으로 테스트중이긴 하지만...  고민이네요..  ^^;;

이경환(babocom)님이 2005-10-04 09:44:19에 작성한 댓글입니다.

저도 Fedora Core 4에서 euckr을 사용해 기존의 데이터베이스의 자료

 

를 사용하고자 여러 문서들을 봤었습니다. 이 문서도 그 중 한가지 인

 

데요 이대로 하면 APM과 운영체제의 Charset이 UTP-8이기 때문에 새

 

로 생성한 DB와 PHP문서들은 모두 한글이 잘 적용됩니다. 하지만 기

 

존에 만들었던(EUCKR) 문서들(php파일)은 VI편집기로 열어보는데도 한글이 깨

 

져서 나오게 되며 웹에서도 깨져서 나오게 되고 기존의 데이터베이스

 

자료 또한 한글이 깨져서나옵니다.  하지만 Fedora Core4의 Charset

 

을 euckr로 변경하면.... 모든게 해결 되더군요.... 

 

먼저 APM 설치시 EUCKR로 설치한 후에

 

vi /etc/sysconfig/i18n

 

LANG="ko_KR.UTF-8"    ----->   LANG="ko_KR.EUC_KR" 변경

SUPPORTED="ko_KR.UTF-8:ko_KR:ko"  ---> SUPPORTED="ko_KR.EUC_KR:ko_KR:ko" 변경

Ctrl + Alt + 백스페이스     또는    재부팅

 

이렇게 하면 Fedora Core4에서도 한글 사용가능합니다.

 

물론 기존의 데이터도 사용할 수 있고요 ^^

 

출처 : http://www.powerdb.net/?inc=read&aid=24452&criteria=mysql&subcrit=columns&id=&limit=20&keyword=&page

"쇼핑몰·홈페이지·오픈마켓
블로그·페이스북·이메일 등의 각종 마케팅 글쓰기,
각종 광고, 영업, 판매, 제안서, 전단지
반응율 3배×10배 이상 높이는 마법의 8단계 공식"
자세히보기

Comments

번호 제목 글쓴이 날짜 조회
2745 SSH 설명 13 김영철 01.29 2795
2744 간단한 쉘 명령어 13 김영철 01.29 2225
2743 ssh 명령어 13 김영철 01.29 2400
2742 my-sql 테이블 생성 방법 13 김영철 01.29 3075
2741 mysql 백업 및 복원 방법 13 김영철 01.24 2711
2740 sql_덤프하기_7_10_08 99 단국강토 01.12 1873
2739 Date Types_7_7_08 99 단국강토 01.12 3541
2738 13.1.7.1. JOIN Syntax____SELECT 99 단국강토 01.08 2209
2737 SUBSTRING(str,pos) , SUBSTRING(str FROM pos) , SUBSTRING(str,pos,len) , SUBSTRING(str FROM pos FOR len) 99 단국강토 01.08 2899
2736 mysql함수 [숫자열, 문자열, 집계, 날짜, 기타함수...] 99 단국강토 01.07 4735
2735 sql ERROR 1045 99 단국강토 01.07 2567
2734 정규패턴, 자료백업 및 복구, MySQL 설정하기 99 단국강토 01.06 2696
2733 MySQL 시스템 데이터베이스 및 테이블 구조 이해하기 99 단국강토 01.06 2380
2732 TABLE 깨지고 맛간것 복구하기 99 단국강토 01.05 2331
2731 mysql의 최대 성능 향상 방법 99 단국강토 01.05 3562
2730 mysql FULLTEXT 검색 M 최고의하루 01.03 2831
2729 동적 쿼리 사용시 속도개선문제점 해결을 위한 방안... M 최고의하루 01.03 2486
2728 MySQL - Explain 정보보는법 99 단국강토 01.02 2439
2727 해당 문자의 Index 값알아 보자 99 단국강토 01.02 2281
2726 [SQL 쿼리문] 게시판에서 글쓰기와 답글을 저장할때 99 단국강토 12.30 2937
2725 EXPLAIN [mysql] 99 단국강토 12.30 2289
2724 unsigned M 최고의하루 12.26 2428
2723 우편번호 데이터 M 최고의하루 12.26 2785
2722 Mysql 문자셋 M 최고의하루 12.24 2382
열람중 mysql 에서 utf-8 로 생성하기 M 최고의하루 12.24 2681
2720 utf-8 세팅및 한글깨짐방지 M 최고의하루 12.23 4615
2719 4.1 버전의 collation M 최고의하루 12.23 2430
2718 mysqladmin정리 M 최고의하루 12.20 2177
2717 카테고리4단 inner join 이해하기 M 최고의하루 12.20 2542
2716 MySQL-Front 3.2 설치 M 최고의하루 12.19 3230
마케팅
특별 마케팅자료
다운로드 마케팅자료
창업,경영
기획,카피,상품전략
동기부여,성취