rulururu

post WordPress를 설치하며…

August 18th, 2006

Filed under: 분류없음 — 박군 @ 12:52 am

그렇게 간단하단 Wordpress를 설치하면서, 나는 힘든 난관을 많이 겪었다.

설치는 한방에 시원하게 끝났다. 하지만, wordpress가 준 요상한 패스워드를 넣고 로그인 하는 순간

Warning: Invalid argument supplied for foreach() in /wp-includes/capabilities.php on line 19

Warning: Cannot modify header information - headers already sent by (output started at /wp-includes/capabilities.php:19) in /wp-login.php on line 9

라는 메시지가 나를 반겼다.

wordpress.org에서 documentaion, forum 등에서 열심히 검색을 해 보았으나 뽀족한 수가 생기지 않았다. apache 설정과 php 설정 및 버전의 차이에서 나오는 경고인 듯 한데, 무시해도 진행이 되지 않는다.

wordpress support forum에서 열심히 알아본 결과, 여러번 설치해보라는 말이 눈에 들어왔다. 그리고 그 지시에 따라 지웠다 깔았다를 5번정도 반복하다가 로그인이 되었고 이렇게 글을 쓸 수가 있게 되었다.

이렇게 찝찝하게 일이 처리되는 걸 싫어하는 성격이지만, utf-8을 사용하기 위해 호스팅업체에 부탁해 서버도 바꾸고, apache 설정도 바꾸었기 때문에 뭐라고 더 요청하기도 미안하고 저런 부분에서 시간을 낭비(?)하고 싶지 않았기에 그냥 넘어가기로 했다.

그리고 이틀 전(15일)에 멋찌게 첫 글을 남기는 순간 요상한 표시만 남은체 나의 글이 날라가는 것이 아닌가?

완전 좌절한 나머지 그냥 잠이 들었다.(물론 쉽게 잠이 오지 않았다.)

어제(16일) 회사에서 그 원인을 찾아보았다.
Database에는 글을 저장되는 Character set이 있다. 그리고 HTML 문서에도 문서의 Character set이 존재한다. 거기까지는 알고 있던 사실이라 utf-8을 잘 지켰다. 하지만, 15일에 나타난 문제에 대한 해답은 여기에 있었다.

mysql_query(”SET NAMES ‘utf8′”);
참고 : http://blog.naver.com/45036/20022767944

그렇다. Database에 접근하는 Connection에 대한 Character set이 따로 존재한다는 사실이다.
더 자세한 내용을 mysql.com에서 찾아보았다.

——————————————————————————-

17.2.3.59.?mysql_set_character_set()

int mysql_set_character_set(MYSQL *mysql, char *csname)

Description

This function is used to set the default character set for the current connection. The string csname specifies a valid character set name. The connection collation becomes the default collation of the character set. This function works like the SET NAMES statement, but also sets the value of mysql->charset, and thus affects the character set used by mysql_real_escape_string()

This function was added in MySQL 4.1.13.

http://dev.mysql.com/doc/refman/4.1/en/mysql-set-character-set.html

——————————————————————————-

뭐라뭐라 하는 것 같다. 현재 커낵션에 대한 Character set이 존재한다는 말이다. 그리고 그 것을 설정해 주는 function이라는 말이다.

간단하다는 wordpress 설치에서 한국인으로써 겪어야 하는(영어권 국가가 아님에서 오는) 고통에서 이런 지식을 얻을 수 있었다. 그 과정은 쓰지만 열매는 단거 같다.

※ 간혹 편집기(Editplus와 같은)로 편집을 하고 저장해서 올리게 되면, 한글이 깨져서 보이는 경우가 있다. HTML은 utf-8로 표현하는데 편집기에서 저장할 때 Encoding을 ANSI나 Unicode로 하게 되는 경우가 있는데 이런 경우에 한글이 깨져서 나올 수 있다. utf-8로 저장을 지원하는 편집기로 저장하기를 권장한다. (실제로 텍스트 파일과 같이 보이지만 파일 해더에 Character set에 대한 정보가 들어간다고 한다.)

–올바르지 않은 내용이 있을 수도 있습니다. 틀리거나 수정되어야 할 부분이 있으면 알려주시고, 잘못된 부분이 있으면 빠른 시일내에 정정하겠습니다.

한RSS 쓰시는 분은 추가하기~

한개의 댓글이 있습니다. »

  1. ^^; 안녕하세요?;
    방문겸, 첫 댓글로 알고 있는걸 알려드립니다 ^^;
    mysql 4.1인가 그쯤때부터 필드, 테이블, DB, connect 등 모든곳에 각각 charset이 지정되어서 전부 따로 다 각자 지정을 해주어여한답니다.
    이부분이 조금 귀찮아서 그렇답니다[;;
    그리고 PHP에서는 BOM(Byte Order Mark인가..)이 있으면 살짝 출력이 이상하게 되는 부분이 있으니 참조해 두시구요 ^^;

    댓글 by 싸이친구™
        — 2006년 10월 14일 @ 4:08 am  

이 글에 트랙백을 보내실 트랙백 주소 : 트랙백 주소

댓글을 남겨주세요.

ruldrurd
© Bakgunicious , Desinged by Stealth Settings
Entries (RSS) and Comments (RSS)