컴퓨터 / 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 = ""
메탈 진주큐빅 나비 태슬장식 헤어핀 올림머리 비녀
크로커다일 패턴 숄더백 핸드백 HH-G73
여성 베스트 레이어드룩 펀칭 니트짜임 브이넥 조끼
깔끔한 데님 캐주얼 세련된 데일리 룩이나 나들이 여행 코디에 활용도가 높은
핸드폰 스마트폰링 거치대 휴대용 휴대폰스탠드 테블릿
DC 12V 2.5A 어댑터 벽걸이형 직류전원장치 셋톱박스 공유기 CCTV 2500mA
이어팁 이어폼 S M L 메모리폼
탁상 벽걸이 겸용 선풍기 무드등 캠핑 휴대 포터블팬
해바라기 크롬 미용실 샴푸대 샤워기 교체 머리 헤드
유진 9069 BSN 블랙실버 목문 방문손잡이 욕실용
바퀴형 이동식 사이드 테이블 다용도 이동식 보조 테이블 협탁 틈새
올크롬 샤워기 중 메탈호스세트 1.5m/샤워꼭지 레인 샤워줄 목욕탕 욕실 샤워헤드 교체 부속품 호수 화장실
수박 보관통 야채 밀폐 용기 냉장고 용기 수박통 6L
Lycra 스판덱스 프리미엄 발목보호대
멀티 넥쿨러 스카프 쿨넥밴드 쿨링마스크 넥아이스
아이스 넥쿨러 커브 쿨링 넥밴드

연습전용 펜돌리기 스피닝 젤리펜
칠성상회
땡땡이토끼 아이가타고있어요 자동차스티커 반사
칠성상회

맨위로↑