컴퓨터 / Computer

웹 사이트 언어 설정하기 - 한글이 깨졌을때 대처하는 법

한글문화예술제 2019 관련 이미지 



요새는 한글 코드 설정이 쉬워서 이런 일은 껌이라고 생각하기 쉬운데, 그래도 혹시나 이래저래 잘 안 풀리면 점검할 항목을 만들어 두어야 한다.


리눅스나 윈도 등 서버에서 DB 설치하고 웹 서버 설치하고 html을 올렸는데 한글이 깨져 나온다. 무척 난감한 상황이다. 이럴때는 아래 순서대로 확인을 해 보자.


1. DB 서버 언어 설정 ( 참고 : http://www.7-star.net/bbs/board.php?bo_table=talk_computer&wr_id=2 )


DB에서 언어 설정은 2가지가 있다. 첫째는 Character Set, 둘째는 Table Collation. 정말 멋모르고 시스템 설정할때는 문자셋이나 테이블 정열 방식을 latin1_swedish_c1 으로 했었다. 물론 이렇게 해도 웹 서버를 운용하는데는 문제가 없다! DB자체 언어 설정과 웹 서버 및 html 언어 설정이 별개로 되어 있다. 하지만! 관리 및 업그레이드 편의성을 위해서는 한글 중심으로 된 코드를 써야 한다. 한글은 EUC_KR이나 UTF-8을 써야한다. 


요약하자면, 아래와 같다.

 - 대상 : DB Character Set, Table Collation

 - 택 1 : EUC_KR, UTF-8


각자 둘 중 하나를 택해서 쓰시라. ( 장기적으로는 UTF-8로 하는게 정신적 육체적 건강에 좋다. )


2. 웹 서버 


자, 여기서부터는 중요하다. DB 서버에서 받은 자료를 사용자의 브라우저에 뿌려주는 웹 서버가 매우 큰 역할을 하는데, 아래 박스의 두 가지 중 하나를 택하면 된다. 이건 1의 언어 설정과 무관한데, 이왕이면 "같이" 설정해 주는게 좋다. 

httpd.conf에 아래 둘 중 하나를 선택하여 복사해 두시라.


AddDefaultCharset UTF-8


AddDefaultCharset  EUC-KR



* 사족. 물론 php.ini 에도 아래와 같은 항목이 있으나 굳이 대세에는 영향이 없다.


 ;default_charset = "UTF-8"



3. html 소스 ( 참고 : https://webisfree.com/2017-04-09/html%EC%97%90%EC%84%9C-%ED%95%9C%EA%B8%80-%EA%B9%A8%EC%A7%90-%EB%AC%B8%EC%A0%9C-%EB%98%90%EB%8A%94-%ED%98%84%EC%83%81%EC%9D%84-%ED%95%B4%EA%B2%B0%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95%EC%9D%80 ) 


1은 크게 관련이 없는데, 2에서 설정한 언어코드에 맞에 아래 둘 중 하나를 html 의 <head>에 넣어 둔다.


utf-8로 설정할 경우.

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

 <meta charset="UTF-8" />



euc-kr로 설정할 경우.

 <meta http-equiv="Content-Type" content="text/html; charset=euc-kr" />

 <meta charset="EUC-KR" />




여기까지 해서 안 풀리는 한글 문제는 거의 없다. 만약 안 풀린다면 html 소스의 한글 설정 자체가 꼬인 경우일 듯. 그리고 DB에서 문서 가져 올때 링크의 "set names"를 유념하시라. 



Comments

공유지기 2020.07.23 01:17
사이트에서 utf8과 euckr을 동시에 쓰고자 할때는 php.ini 에 아래를 넣는다. 이때 utf8과 euckr 셋팅은 주석처리한다.

default_charset = ""
리얼 통가죽 가파치 벨트 남성용 청바지 소가죽 혁띠
리플러무지니삭스 시스루 심플 주름 무지 데일리 양말
여성 여름 롱 랩스커트 1P A라인 데일리 쉬폰 긴치마
초등 미니 슬링백 캐주얼 학생 여행용 크로스백
클리어하드케이스 투명케이스 갤럭시 A7 2016 A710
이케아YUPPIENALLE 위우피에날레 휴대폰홀더 열쇠고리
팔걸이마우스패드 - 대의자 책상 팔받침대
MIPRO호환 강의용 공연용 무선 헤드마이크 숲 학원
3T점착데코타일 유광 대리석 마블그레이 WBTI6-06
멀티트롤리5단 이동식선반 세탁실수납장 바퀴달린틈새
소형 수납함 4x5/플라스틱 투명 조립식수납장 서랍장
(나룸) JSC-003 복을부르는풍수_액자 벽시계(무소음)
오랄비 청소년칫솔 4단계 8세이상 4개 크로스액션
샘표 양조간장 501 500ML + 1.7L
코카콜라 업소용 500ml 24PET
조지아 크래프트 블랙 800ml x 12PET대용량

고무줄 넓은생 노랑 1000 0159 7x1 500 1개입
칠성상회
당기는 1초 완성 리본장식 9cm 포장재료
칠성상회

맨위로↑