컴퓨터 / 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 = ""
미치코런던 베김이 없는 편안한 남성 신사 발가락양말0005gd
후끈이 넥워머 겨울 방한 목토시 등산 스키 후드 마스크 바라클라바 블랙 목토시 안면 모자 방한 마스크
여자경량패딩 자켓 여성패딩 경량 여자패딩자켓
포빅 방울 니트 털모자 귀달이모자 스키장모자 방울모자 왕방울모자 왕방울털모자 버킷햇 니트모자 니트모
한빛 전기 컨벡션 히터 1000 (HV-C1000)
USB A C to RS232 RS485 시리얼 컨버터
티피링크 BE3600 와이파이7 1기가 공유기 인터넷공유기
SanDisk sd카드 Ultra microSDXC UHS-I QUNR (128GB) 메모리카드
원홀주방헤드 싱크대샤워기 수도꼭지수전 싱크 코브라 주방 대수전부품셀프 대샤워설비 씽크 세면 용벽수전
인체공학적 책상 팔걸이 받침대 1P 책상거치대 팔보호
UV베이스 3.75L 목재 마루 코팅제 UV베이스 3.75L 1개
경서 마루광택기 바닥솔 패드 KP-14용
아워홈 연탄구이맛 고추장불고기 400g X 2개(냉동)
로얄캐닌 캣 키튼 2kg
테라오카 계란간장 300ml
시아스 화유 불맛기름 500g X 3개 매콤한 고추기름

젤펜 0.3mm 검정색 필기용 스타일 글씨잉크 펜
칠성상회
터틀왁스 자동차 광택왁스 슈퍼하드쉘 페이스트 왁스
칠성상회

맨위로↑