리눅스 한글설정관련_locale
설정 파일 : /etc/sysconfig/i18n
한글 지원
- UTF-8
- EUC-KR, CP949
# locale
1. UTF-8
LANG="ko_KR.UTF-8"
SUPPORTED="ko_KR.UTF-8:ko_KR:ko"
SYSFONT="lat0-sun16"
SYSFONTACM="8859-15"
2. eucKR
LANG="ko_KR.eucKR"
SUPPORTED="ko_KR.eucKR:ko_KR:ko"
SYSFONT="lat0-sun16"
SYSFONTACM="8859-15"
--------------------------------------------------------------------------------
[LANG]
최초 초기 지원 언어 지정(부팅시 사용할 언어 패키지).
ko_KR.UTF-8, ko_KR.eucKR ,ko_KR, ko, ...
[SUPPORTED]
최초 언어 패키지 외에 호환 가능한 패키지 지정
ko_KR.UTF-8, ko_KR, ko, en_US.UTF-8, en_US, en, ...
[SYSFONT]
사용할 언어 패키지의 글짜 폰트 지정
lat0-sun16, latarcyrheb-sun16, ...
[SYSFONTACM]
8859-15, iso15, ...
--------------------------------------------------------------------------------
Linux UTF8 환경 설정 방법
0. 환경
Redhat Linux Enterprise(kernel 2.4, 한국어 설치)
Apache 1.3.29
MySQL 4.1.12
PHP 4.3.6
SecureCRT 4.1(SSH Client TOOL)
1. PHP
/usr/local/Zend/etc/php.ini
default_charset = "utf-8" 추가
2. Apache
/usr/local/apache/conf/httpd.conf
AddCharset 부분에 아래의 코드 추가
AddCharset UCS-2 .ucs2
AddCharset UCS-4 .ucs4
AddCharset UTF-8 .utf8
# 아래 DefaultCharset은 추가하지 말 것 - (주)웹호스트
# 추가하면, 화면이 깨짐.
#AddDefaultCharset UTF-8
제일 밑에(또는 적절한 위치에) 아래의 코드 추가 - 테터툴즈를 위하여 CheckURL Off로 설정
<IfModule mod_redurl.c>
CheckURL Off
ServerEncoding UTF-8
ClientEncoding UTF-8
</IfModule>
3. MySQL
/etc/rc.d/rc.local 파일에 아래의 코드 추가.
이 파일은 Windows의 시작프로그램과 비슷한 설정이다.
/usr/local/mysql4/bin/mysqld_safe --default-character-set=utf8 &
위에 있는 코드는 기본적으로 MySQL을 실행할 때 쓰는 코드이고
/etc/rc.d/init.d/mysql.server 파일에는 실제 start, stop, restart 등의 옵션으로 MySQL 서버를 제어할 수 있는 내용이 들어있는데 start 부분에 --default-character-set=utf8 옵션을 주고 mysql.server start와 같은 커맨드를 rc.local 파일에 저장할 수 있다.
MySQL의 경우 클라이언트로 접속을 한 뒤
show variables like 'char%';
쿼리를 날렸을 때 모든 character_set_* 설정값이 utf8로 나와야 정상이다.
4. Linux
일단 한국어로 설치했고 EUC-KR로 작동하는 상태에서 UTF-8로 바꾸게 되면 미처 확인하지 못한 문제들이 무수히 발생하겠지만(파일명이라든가 한글 출력이라든가) 우선 파일이 저장될 때 UTF-8 인코딩이어야만 하고, 그렇게 되어야만 비영어권 문자를 웹에서 보여주거나 관리할 수 있다.
/etc/sysconfig/i18n
LANG="ko_KR.UTF-8"
SUPPORTED="ko_KR.UTF-8:ko_KR:ko"
SYSFONT="latarcyrheb-sun16"
/etc/bashrc
export LANG="ko_KR.UTF-8"
export LC_ALL="ko_KR.UTF-8"
$ locale
LANG=ko_KR.UTF-8
LC_CTYPE="ko_KR.UTF-8"
LC_NUMERIC="ko_KR.UTF-8"
LC_TIME="ko_KR.UTF-8"
LC_COLLATE="ko_KR.UTF-8"
LC_MONETARY="ko_KR.UTF-8"
LC_MESSAGES="ko_KR.UTF-8"
LC_PAPER="ko_KR.UTF-8"
LC_NAME="ko_KR.UTF-8"
LC_ADDRESS="ko_KR.UTF-8"
LC_TELEPHONE="ko_KR.UTF-8"
LC_MEASUREMENT="ko_KR.UTF-8"
LC_IDENTIFICATION="ko_KR.UTF-8"
LC_ALL=ko_KR.UTF-8
일단 여기까지하면 리눅스에서 파일을 저장할 때 영어가 아닌 문자가 있을 경우 UTF-8 인코딩으로 저장을 하게 된다. 그러나 파일 편집을 위해서는 vi 에디터에 대한 설정도 필요하다.
/etc/vimrc
if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"
set fileencodings=utf-8,euc-kr
endif
위와 같은 코드가 있는지 확인할 것. 기본적으로 들어있겠지만 없으면 넣어준다.
vi 를 실행해서 set 커맨드로 현재의 환경 설정을 확인해본다.
:set
--- Options ---
backspace=2 history=50 scroll=25 ttyfast
fileencodings=ucs-bom,utf-8,latin1
fileencodings 항목에 반드시 utf-8 이라는 값이 있어야 된다.
4. SecureCRT
3번까지 하면 리눅스에서 UTF-8 인코딩을 한다. 그럼 한글은... X-Window 에서 한글이 제대로 출력되지 않을 수도 있다. vi 에디터는 말할 필요도 없다. 그래서 SecureCRT로 접속을 해서 vi 에디터를 사용하며 비영어권 문자를 입력할 때
Option -> Session Option -> Character 항목을 UTF-8로 설정하고 그 밑에 있는 Use Unicode line drawing characters 항목을 체크한다. 이 상태에서 SecureCRT를 이용하여 리눅스 서버에 접속한 후 vi 에디터를 실행한다.
비영어권 문자를 입력할 경우 화면에 제대로 출력되지는 않겠지만 드림위버나 에디트 플러스 등 UTF-8 인코딩을 지원하는 에디터로 해당 파일을 열어보면 한글이 정상적으로 들어있고 파일 인코딩도 UTF-8로 되어있음을 확인할 수 있다.
5. 여기서는 시스템 전체에 대한 환경 설정을 해주었지만 ~/.vimrc 파일이나 ~/.bashrc 파일을 통해 유저마다 다른 설정을 줄 수도 있다.
참조:
문자 인코딩
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 8130 | 9년 전 | 555 | ||
| 8129 |
|
9년 전 | 676 | |
| 8128 | 9년 전 | 534 | ||
| 8127 |
|
9년 전 | 583 | |
| 8126 | 9년 전 | 514 | ||
| 8125 | 9년 전 | 776 | ||
| 8124 |
|
9년 전 | 533 | |
| 8123 | 9년 전 | 520 | ||
| 8122 | 9년 전 | 450 | ||
| 8121 | 9년 전 | 559 | ||
| 8120 | 9년 전 | 479 | ||
| 8119 | 9년 전 | 569 | ||
| 8118 |
|
9년 전 | 642 | |
| 8117 |
|
9년 전 | 414 | |
| 8116 |
PASKRAN
|
9년 전 | 473 | |
| 8115 | 9년 전 | 466 | ||
| 8114 |
kiplayer
|
9년 전 | 604 | |
| 8113 | 9년 전 | 464 | ||
| 8112 |
|
9년 전 | 573 | |
| 8111 | 9년 전 | 413 | ||
| 8110 | 9년 전 | 452 | ||
| 8109 | 9년 전 | 384 | ||
| 8108 |
|
9년 전 | 561 | |
| 8107 |
|
9년 전 | 450 | |
| 8106 |
|
9년 전 | 453 | |
| 8105 | 9년 전 | 483 | ||
| 8104 |
|
9년 전 | 448 | |
| 8103 |
|
9년 전 | 446 | |
| 8102 |
|
9년 전 | 419 | |
| 8101 |
snshero
|
9년 전 | 806 | |
| 8100 | 9년 전 | 852 | ||
| 8099 | 9년 전 | 829 | ||
| 8098 | 9년 전 | 727 | ||
| 8097 | 9년 전 | 536 | ||
| 8096 | 9년 전 | 732 | ||
| 8095 | 9년 전 | 860 | ||
| 8094 | 9년 전 | 534 | ||
| 8093 | 9년 전 | 818 | ||
| 8092 | 9년 전 | 770 | ||
| 8091 | 9년 전 | 1153 | ||
| 8090 | 9년 전 | 781 | ||
| 8089 | 9년 전 | 996 | ||
| 8088 | 9년 전 | 659 | ||
| 8087 | 9년 전 | 786 | ||
| 8086 | 9년 전 | 534 | ||
| 8085 | 9년 전 | 497 | ||
| 8084 | 9년 전 | 617 | ||
| 8083 | 9년 전 | 589 | ||
| 8082 | 9년 전 | 777 | ||
| 8081 | 9년 전 | 484 | ||
| 8080 | 9년 전 | 585 | ||
| 8079 | 9년 전 | 543 | ||
| 8078 | 9년 전 | 461 | ||
| 8077 | 9년 전 | 552 | ||
| 8076 | 9년 전 | 421 | ||
| 8075 | 9년 전 | 456 | ||
| 8074 | 9년 전 | 414 | ||
| 8073 | 9년 전 | 471 | ||
| 8072 | 9년 전 | 466 | ||
| 8071 |
o1o111
|
9년 전 | 914 | |
| 8070 | 9년 전 | 420 | ||
| 8069 | 9년 전 | 359 | ||
| 8068 | 9년 전 | 612 | ||
| 8067 | 9년 전 | 412 | ||
| 8066 | 9년 전 | 437 | ||
| 8065 | 9년 전 | 399 | ||
| 8064 | 9년 전 | 391 | ||
| 8063 | 9년 전 | 358 | ||
| 8062 | 9년 전 | 324 | ||
| 8061 | 9년 전 | 362 | ||
| 8060 | 9년 전 | 403 | ||
| 8059 | 9년 전 | 339 | ||
| 8058 | 9년 전 | 278 | ||
| 8057 | 9년 전 | 405 | ||
| 8056 | 9년 전 | 322 | ||
| 8055 | 9년 전 | 371 | ||
| 8054 | 9년 전 | 380 | ||
| 8053 | 9년 전 | 430 | ||
| 8052 | 9년 전 | 304 | ||
| 8051 | 9년 전 | 352 | ||
| 8050 | 9년 전 | 408 | ||
| 8049 | 9년 전 | 339 | ||
| 8048 | 9년 전 | 446 | ||
| 8047 | 9년 전 | 381 | ||
| 8046 | 9년 전 | 328 | ||
| 8045 | 9년 전 | 273 | ||
| 8044 | 9년 전 | 360 | ||
| 8043 | 9년 전 | 316 | ||
| 8042 | 9년 전 | 307 | ||
| 8041 | 9년 전 | 369 | ||
| 8040 | 9년 전 | 292 | ||
| 8039 | 9년 전 | 334 | ||
| 8038 | 9년 전 | 280 | ||
| 8037 | 9년 전 | 422 | ||
| 8036 | 9년 전 | 511 | ||
| 8035 | 9년 전 | 445 | ||
| 8034 | 9년 전 | 405 | ||
| 8033 | 9년 전 | 366 | ||
| 8032 | 9년 전 | 467 | ||
| 8031 | 9년 전 | 363 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기