A

리눅스 한글설정관련_locale

· 2008-09-05 (금) 06:46:23 · 5108

리눅스 한글설정관련_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 파일을 통해 유저마다 다른 설정을 줄 수도 있다.

참조:
문자 인코딩

출처 : http://webhost.co.kr/bbs/zboard.php?id=zero_linux&page=1&sn1=&divpage=1&category=1&sn=off&ss=on&sc=on&select_arrange=subject&desc=desc&no=211

[이 게시물은 관리자님에 의해 2011-10-31 17:32:05 Linux에서 이동 됨]
|
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
11-08-16 조회 2,425
11-08-16 조회 2,403
11-08-12 조회 2,250
11-08-02 조회 2,820
11-07-27 조회 2,209
11-07-25 조회 2,327
11-06-28 조회 2,506
11-06-06 조회 4,021
11-06-04 조회 2,606
11-04-25 조회 6,187
11-04-22 조회 2,685
11-04-21 조회 2,913
11-04-08 조회 3,327
11-03-31 조회 2,839
11-03-20 조회 3,267
11-03-10 조회 2,876
11-03-04 조회 3,191
11-03-03 조회 2,924
11-02-26 조회 4,350
11-02-14 조회 5,700
11-02-08 조회 3,307
11-01-30 조회 5,407
11-01-14 조회 5,188
11-01-14 조회 3,742
11-01-14 조회 2,892
11-01-14 조회 2,933
11-01-14 조회 3,081
11-01-12 조회 2,855
11-01-07 조회 4,508
10-12-29 조회 2,513
10-12-22 조회 2,481
10-12-05 조회 5,882
10-11-22 조회 5,244
10-11-13 조회 3,619
10-10-27 조회 3,220
10-10-21 조회 2,920
10-09-21 조회 2,925
10-09-17 조회 2,980
10-09-15 조회 3,416
10-09-14 조회 4,021
10-05-18 조회 2,908
10-02-17 조회 4,351
10-02-12 조회 3,114
09-12-14 조회 5,173
09-12-14 조회 6,042
09-09-19 조회 4,402
09-08-16 조회 6,253
09-07-22 조회 5,658
09-04-13 조회 3,064
09-03-15 조회 5,070
09-03-05 조회 3,901
09-02-09 조회 2,847
08-12-30 조회 3,036
08-12-06 조회 3,236
08-11-30 조회 3,577
08-10-18 조회 4,411
08-10-08 조회 3,809
08-09-19 조회 4,373
08-09-05 조회 3,000
08-09-05 조회 5,109
08-09-05 조회 2,989
08-09-05 조회 3,585
08-09-05 조회 3,496
08-09-01 조회 4,521
08-08-07 조회 2,777
08-06-08 조회 3,235
08-06-02 조회 2,836
08-05-26 조회 5,259
08-05-09 조회 4,317
08-04-22 조회 3,918
08-04-17 조회 4,508
08-04-17 조회 5,581
08-04-17 조회 3,721
08-04-17 조회 8,699
08-04-17 조회 4,612
08-04-17 조회 4,519
08-04-09 조회 3,064
08-03-31 조회 3,560
08-03-26 조회 3,271
08-03-25 조회 3,551
08-03-25 조회 3,977
08-03-25 조회 4,020
08-03-25 조회 3,682
08-03-25 조회 3,572
08-03-25 조회 3,574
08-03-25 조회 5,262
08-02-03 조회 5,350
08-01-18 조회 6,639
08-01-17 조회 3,940
08-01-17 조회 3,756
08-01-12 조회 4,052
08-01-08 조회 3,369
07-12-28 조회 4,643
07-12-04 조회 3,520
07-11-30 조회 5,127
07-11-30 조회 5,731
07-11-02 조회 4,031
07-10-24 조회 4,008
07-10-24 조회 3,288
07-10-24 조회 3,398