WordPress 한글과 고유 주소 설정

 

 

WordPress 사용 환경
  • Web Server : Nginx
  • DB : MariaDB
  • OS : CentOS 7
WordPress 한글 설정
워드프레스를 본격적으로 사용하기 전에 한글을 설정 합니다.

#— nginx.conf 파일에서 문자셋(charset)을 설정 합니다.
vi /etc/nginx/nginx.conf                         
http {
    charset             UTF-8;                             #— 문자셋을 UTF-8로 설정
    server {
        charset      UTF-8;                                #— WordPress가 설치된 서버의 문자셋을 UTF-8로 설정
    }
}
 
nginx  -s  reload                                          #— 변경한 설정 정보를 다시 로딩
WordPress 관리자 화면에서 “설정 > 일반” 메뉴를 선택하여 아래와 같이 설정 합니다.
  • 사이트 언어 : 한국어
  • 시간대 : 서울
  • 날짜 표시 형식 : 사용자 정의 (Y년 m월 d일)  – 2017년 10월 14일
  • 시간 표시 형식 : 사용자 정의 (a g:i)           – 오전 6:51
  • 시작 요일 : 월요일
WordPress 고유주소 설정
워드프레스에서 글(페이지 등 포함) 기본 주소는 http://~/?p=123 형태를 가집니다.
검색엔진 최적화(SEO, Search Engine Optimizer)를 위해서는 의미없는 주소보다는 글을 지칭하는 의미있는 주소를 사용하는 것이 좋습니다.

#— 404 (Page Not Found 오류)를 방지하기 위해서 Nginx 설정 파일을 아래와 같이 수정 합니다.
vi /etc/nginx/nginx.conf                                 #— 워드프레스를 http://~/ 형태로 접속할 경우 사용
http {
    server {
        location / {
            try_files  $uri  $uri/  /index.php?$args;    #— 이 라인을 추가 합니다.
        }
    }
}
 
vi /etc/nginx/nginx.conf                                #— 워드프레스를 http://~/wordpress/ 형태로 접속할 경우 사용
http {
    server {
        location /wordpress/ {
            try_files  $uri  $uri/  /wordpress/index.php?$args;     #— 이 라인을 추가 합니다.
        }
    }
}
 
nginx  -s  reload                                       #— 변경한 설정 정보를 다시 로딩

 

WordPress 관리자 화면에서 “설정 > 고유주소” 메뉴를 선택하여 고유 주소를 설정 합니다.
제가 권장하는 고유주소(Permalink)는 “글 이름” 입니다.
2017.10.16 ~ 2017.10.18, ver 0.02

 

 

문자셋과 인코딩

제가 가지고 있던 정보를 공유 합니다.
추가할 사항, 부족한 사항이나
오래되어 변경이 필요한 사항을 알려 주시면 고맙겠습니다.
파일
 

 

MariaDB UTF-8 설정

 

CentOS 6.5에서 MariaDB의 문자셋을 설정 합니다.

vi /etc/my.cnf.d/client.cnf

[client] default-character-set = utf8
vi /etc/my.cnf.d/mysql-clients.cnf

[mysql] default-character-set = utf8

[mysqldump] default-character-set = utf8

vi /etc/my.cnf.d/server.cnf

[mysqld] init_connect = “SET collation_connection = utf8_general_ci”
init_connect = “SET NAMES utf8”
character-set-server=utf8
collation-server = utf8_general_ci
MariaDB를 재기동 합니다.
service mysql restart

 

파일

 

RStudio : UTF-8 문자셋 설정 등 몇가지 Tip

 
 
 
 
1. 자주 사용하는 RStudio 단축키와 명령
    –  Console 화면에서 Ctrl_l (Ctrl_소문자L) : 화면을 깨끗하게 지웁니다.
    –  rm(list=ls(all=TRUE)) : 작업 영역을 깨끗이 청소 합니다.
    –  Ctrl_+ : 화면에 표시되는 문자의 크기를 크게 합니다.
    –  Ctrl_- : 화면에 표시되는 문자의 크기를 작게 합니다.
    –  "Tools -> Global Options…" 메뉴를 선택한 후 "General" 메뉴에서
        "Default working directory (when not in a project):" : RStudio에서 사용할 작업용 폴더를 지정 합니다.
        "Default text encoding: " : ~.R 파일의 인코딩을 지정 합니다.  저는 "UTF-8"을 지정하여 사용하고 있습니다.
 
    –  RScript 편집 화면에서 Ctrl_Enter : 커서가 있는 라인을 Console 화면에서 실행 합니다.
    –  ? ~ : help(~)와 동일한 기능으로 함수, 데이터셋 등에 대한 도움말을 표시 합니다.
        사용 예 1)  ? iris                 : iris 데이터셋에 대한 도움말
        사용 예 2)  ? summary         : summary 함수에 대한 도움말
    –  ??  ~ : help.search("~")와 동일한 기능으로 함수 등의 이름을 명확히 알지 못할 경우, 검색을 할 때 사용 합니다.
    –  help(package = "~"), library(help = "~") : 패키지(라이브러리) 도움말로 제공하는 함수 목록을 확인할 수 있습니다.
        사용 예)  library(help = "stats") : stats 패키지의 도움말 화면을 표시 합니다.
    –  methods(~) : ~이 대표하는 함수들의 목록을 표시 합니다.
        사용 예)  methods(plot) : 다양한 데이터 타입을 사용하여 챠트를 그려주는 함수명을 확인할 수 있습니다.
                     시계열 데이터를 그려주는 plot.ts(~) 대신에 
                      대표 함수명인 plot(~)를 사용하면 내부적으로 plot.ts(~)가 실행이 됩니다.
    –  args(~) : ~ 함수의 인자 정보를 조회 합니다.
        사용 예) args(lm) : 회귀분석에서 사용하는 lm 함수의 인자 정보를 확인 합니다.
    –  attributes(~) : 데이터셋의 인자 정보를 조회 합니다.
    –  TAB : 자동 완성 기능으로 console 창에서 몇글자를 입력한 후 TAB키를 누르면
                입력한 글자로 시작되는 함수 목록을 보여 주어 자동 완성 기능을 사용할 수 있도록 합니다.
 
 
2.  문자셋 관련 사항
  –  UTF-8 문자셋으로 저장된 ~.R 파일을 사용할 경우
      –  "Tools -> Global Options…" 메뉴를 선택한 후 "General" 메뉴에서
        "Default text encoding: " : ~.R 파일의 인코딩을 지정 합니다.  "UTF-8"을 지정하세요.

 

  –  UTF-8 문자셋으로 저장된 데이터 (csv 파일 등)을 읽을 경우
     read.table(생략, encoding = "UTF-8")                            #— 문자셋 정보를 명시 합니다.
 
  –  R의 인코딩 정보 확인
      localeToCharset()
      Sys.getlocale()
  –  오류 메시지를 영문으로 보기 (영문 오류 메시지가 명확하고 구글 등의 검색을 통해서 확인하기가 편리 합니다.)
      Sys.setlocale("LC_ALL", "English_United States.1252")  #— 영문 문자셋을 지정 합니다.
      Sys.setlocale()                                                          #— 원래 디폴트로 설정된 문자셋으로 복구 됩니다.
  –   데이터의 인코딩 정보 확인
      Encoding(~)
  –  문자열의 인코딩 변환
      iconv(~, "CP949", "UTF-8) #— "CP949"로 인코딩된 ~라는 데이터에 저장된 문자열을 "UTF-8"로 인코딩된 문자열로 변환
 
  –  "Notepad++" 텍스트 편집기 : 오픈소스로 제공되는 편집기로 사용이 편리 합니다.
      –   다운로드 사이트 : http://notepad-plus-plus.org/
      –   파일의 문자셋 변경 방법
           편집기의 우측 하단 영역에 문자셋이 표시 됩니다.  (ANSI, ANSI as UTF-8 등)
              윈도우의 디폴드 문자셋인 CP949를 사용할 경우 ANSI로 표시됨
              BOM이 없는 UTF-8 문자셋을 사용할 경우 ANSI as UTF-8로 표시됨
           "인코딩" 메뉴에서
              "ANSI로 변환" 메뉴 선택                    : UTF-8 문자셋으로 저장된 파일을 CP949 문자셋으로 변환 
              "UTF-8 (BOM 없음)로 변환" 메뉴 선택 : CP949 문자셋으로 저장된 파일을 UTF-8 문자셋으로 변환
 
 
3.  기타 Tip
  –  한글 사용을 위해 "KoNLP" 패키지 설치시 JDK 관련 오류가 발생할 경우
      1.  JAVA_HOME 환경 변수를 설정 합니다.
      2.  JAVA_HOME 환경 변수가 지정하는 폴더는 JDK가 설치된 폴더가 아니라 JRE가 설치된 폴더를 지정 합니다.
  –  Java를 위한 JDK 다운로드 사이트 : http://www.oracle.com/technetwork/java/javase/downloads/index.html
 
 
 
 
Namecard 10.png
 

하둡에서 한글 사용 설정

문자셋과 인코딩

문자셋 (charset, Character Set)

하나의 언어권에서 사용하는 언어를 표현하기 위한 모든 문자(활자)의 모임을 문자셋이라고 합니다. 다시 말하면 우리가 얘기하는 언어를 책으로 출판할 때 필요한 문자(활자)를 모두 모은 것이라고 보면 됩니다. 그러므로 부호와 공백 등과 같은 특수 문자도 문자셋에 포함 됩니다. 영어의 경우 알파벳 대소문자와 특수 문자 등으로 간단하게 문자셋을 구성할 수 있지만 한글의 경우 출판에서 가나다 등으로 출판함으로 훨씬 다양한 문자셋을 가지고 또한 한자를 병행해서 사용함으로 문자셋의 범위는 더욱 넓어 집니다.

  • 추상적인 글자 셋으로 여러개의 인코딩을 가질 수 있습니다.
  • MIME 문자셋은 IANA에서 정의하며 인터넷 및 XML 파일에서 사용 합니다.

인코딩 (encoding)

인코딩은 문자셋을 컴퓨터가 이해할 수 있는 바이트와의 매핑 규칙 입니다. 예를 들면 ASCII Code에서 ABC 등은 문자셋이고 A는 코드 65, B는 코드 66 등 바이트 순서와 매핑한 것이 인코딩 입니다. 따라서 문자셋을 어떻게 매핑 하느냐에 따라 하나의 문자셋이 다양한 인코딩을 가질 수 있습니다.

  • 추상적인 문자셋을 구체적인 bit-stream으로 표기하는 방법 입니다.
  • 여러가지 문자셋을 동시에 표시할 수 있습니다.
  • 대부분의 인코딩에서는 대소문자를 구분하지 않습니다.
  • 대한민국에서 가장 많이 사용하는 인코딩은 “UTF-8”, “KSC5601”, “ISO-8859-1” 입니다.

문자셋(인코딩)의 예

  • 한글 : 8bit KSC5601 (8bit EUC-KR, 7bit ISO-2022-KR, ISO-2022-Int)
  • 영문 : KSC5636, US-ASCII (둘 간의 차이는 화페 단위 뿐)
  • 한글+영문 : KSC5861 (EUC-KR), KSC5636 + KSC5601를 모두 포함한다.
  • 유니코드 : 4byte Unicode < ISO-10646 UCS (ISO-8859-1, UTF-8, UTF-16)

문자셋과 인코딩은 동일한 명칭을 가질 수 있어 서로 혼용하여 사용되는 경우가 많습니다.

EUC-KR은 원래 유닉스용 표준이었는데 인터넷으로 확장되어 사용 됩니다.

KSC5601은 인터넷에서 원활한 한글(완성형) 사용을 위하여 정의된 표준 입니다.

EUC (Extended UNIX Code), UTF (UCS Transformation format)

 

Java에서 문자셋과 인코딩 설정

 

일반적으로 LANG 환경 변수를 설정해 주면 자동으로 설정 됩니다.

locale -a : Linux 명령어로 지원 가능한 encoding을 확인 합니다.

csh

set LANG ko
setenv LANG ko

ksh

LANG=ko
export LANG

 

JVM 옵션 설정 (UTF-8, ISO-8859-1, KSC5601)

-Dfile.encoding=8859_1 : 필수 항목

-Dfile.client.encoding=8859_1

-Dclient.encoding.override=8859_1 : JVM 버전에 따라 (사용 안함)

 

Hadoop에서 문자셋과 인코딩 설정

Hadoop은 Job을 실행 시키는 환경과 각각의 task가 실행되는 환경이 동일하지 않을 수 있습니다. Map task와 Reduce task는 디폴트 설정이 별도의 JVM에서 실행이 됩니다.

MapReduce의 task에서 한글을 사용하기 위해서는 인코딩을 아래와 같이 설정해 주세요.

vi conf/mapred-site.xml

<?xml version=”1.0″?>
<?xml-stylesheet type=”text/xsl” href=”configuration.xsl”?>

<configuration>

<property>

<name>mapred.child.java.opts</name>

<value>-Xmx200m -Dfile.encoding=UTF-8 -Dfile.client.encoding=UTF-8 -Dclient.encoding.override=UTF-8</value>

</property>

</configuration>

Namecard 10.png