Skip to content

?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

1. PHP파일을 코딩할 때에 메모장(나같은 경우는 메모장 매니아;;;)나 에디트플러스같은 툴을 쓸 때에 인코딩을 UTF-8으로 저장하는 것을 잊지 말자. 에디트플러스의 경우 잘 모르겠지만, 메모장의 경우 저장할 때에 가장 밑에 ANSI로 기본설정이 되어 있는 것을 UTF-8으로만 바꿔서 저장해주면 된다.

 

2. <head>내에는 꼭 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">을 포함시켜 주는 것을 잊지 말자.

 

3. MySQL 데이터 베이스가 UTF-8을 사용하고 있는지 확인해본다. 만약 MySQL-front를 사용하고 있다면 간단히 변수라고 쓰여 있는 곳을 보면

 

character_set_client

character_set_connection

character_set_database

character_set_result

character_set_server

character_set_system

 

이런 항목들을 볼 수가 있는데 모두 UTF-8으로 고쳐주도록 하자. 잘 모르기때문에 혹시나 하는 맘에 다 하라고 하는 것이다...;;;

 

4. 그럼에도 불구하고 나같은 경우 PHP로 만들어진 페이지에서 값을 입력하면 한글값이 깨져 MySQL에 들어가서 조건문을 제대로 만족시키지 못하고 온갖 쓰레기 값들이 쏟아져 나오는데 또 이것이 다시 값이 깨져서 돌아올 땐 "??????12?????" 뭐 이런 물음표의 바다로 사용자를 날려보낸다...- _-;;;;

그럼 이제 어떻게 해야할까??

 

간단하다.

 

당신이 만든 소스에 DB에 커넥트하는 부분이 있을 것이다. 여기서 기본적으로 UTF-8으로 값을 주고받겠다는 설정을 해주는 것이다.

예를 들어 나의 dbconn.php라는 소스를 보면

<?
$host="localhost";
$user="root";
$pass="swaytv";
$dbname="swaytv";
$conn = mysql_connect($host, $user, $pass) or die("mysql_connect Error!!! 사용자명 또는 사용자 비밀번호를 확인하세요.");
mysql_select_db($dbname, $conn) or die("mysql_select_db Error!!! 사용 Database 이름을 확인하세요.");
?>

일반적으로 다들 이렇게 소스를 작성할 것이다.

하지만 이럴 경우 이유는 잘 모르지만 UTF-8인코딩 방식이 아닌 다른 방식으로 정보가 소통하게 된다.

 

따라서!!

<?
$host="localhost";
$user="root";
$pass="swaytv";
$dbname="swaytv";
$conn = mysql_connect($host, $user, $pass) or die("mysql_connect Error!!! 사용자명 또는 사용자 비밀번호를 확인하세요.");
mysql_select_db($dbname, $conn) or die("mysql_select_db Error!!! 사용 Database 이름을 확인하세요.");
mysql_query('set names utf8');

?>

 

저 초록색 부분을 쓰는 것을 잊지 말자.

접속과 동시에 사용하는 캐릭터셋을 UTF-8으로 맞춰준다.(절대로 '-'는 쓰지 않는다. MySQL은 MySQL4이후부터 -는 쓰지 않는다.)

  • profile
    NOS 2010.03.30 12:52

    이런거. 도대체. 언제 한번 인강으로 제작좀 해죠.^^


  1. No Image 28Sep
    by ADMINPLAY
    2009/09/28 by ADMINPLAY
    Views 7291 

    MySQL 4.1 이상에서 한글 사용

  2. No Image 15Oct
    by ADMINPLAY
    2009/10/15 by ADMINPLAY
    Views 6707 

    mysql 초간단 설치

  3. mysqli 동적모듈 추가

  4. No Image 19Nov
    by ADMINPLAY
    2009/11/19 by ADMINPLAY
    Views 9895 

    Mysql 5.0.67 Cluster 소스설치 구성하기

  5. No Image 19Nov
    by ADMINPLAY
    2009/11/19 by ADMINPLAY
    Views 10348 

    HeartBeat를 이용한 MySQL HA 구성

  6. No Image 19Nov
    by ADMINPLAY
    2009/11/19 by ADMINPLAY
    Views 9979 

    MySQL 클러스터

  7. No Image 19Nov
    by ADMINPLAY
    2009/11/19 by ADMINPLAY
    Views 9732 

    Mysql Replication(Master, Slave) 설정

  8. No Image 19Nov
    by ADMINPLAY
    2009/11/19 by ADMINPLAY
    Views 8090 

    MySQL Replication

  9. No Image 19Nov
    by ADMINPLAY
    2009/11/19 by ADMINPLAY
    Views 7792 

    MySQL Replication(복제)

  10. No Image 19Nov
    by ADMINPLAY
    2009/11/19 by ADMINPLAY
    Views 10754 

    리눅스를 이용한 클러스터링 구축법

  11. No Image 26Nov
    by ADMINPLAY
    2009/11/26 by ADMINPLAY
    Views 9558 

    Mysql bin log 로테이션 방법

  12. No Image 31Dec
    by ADMINPLAY
    2009/12/31 by ADMINPLAY
    Views 8661 

    MySQL 데이터 정리후에도 용량변동이 없을 경우

  13. No Image 28Jan
    by ADMINPLAY
    2010/01/28 by ADMINPLAY
    Views 19866 

    Starting MySQL.Manager of pid-file quit without updating fi[실패]

  14. Redmine database를 복구 하고자 할 때

  15. No Image 08Mar
    by l2zeo
    2010/03/08 by l2zeo
    Views 12599 

    MySQL Error 2006 : MySQL server has gone away 해결하기

  16. PHP5와 MySQL5 연동시 한글 인코딩 문제 해결방법 (UTF-8으로의 변환)

  17. No Image 08Mar
    by l2zeo
    2010/03/08 by l2zeo
    Views 18284 

    Another app is currently holding the yum lock; waiting for it to exit 해결법

  18. MySQL 명령어 정리

  19. No Image 02Apr
    by ADMINPLAY
    2010/04/02 by ADMINPLAY
    Views 18084 

    lower_case_table_names=1

  20. No Image 03May
    by ADMINPLAY
    2010/05/03 by ADMINPLAY
    Views 12903 

    mySQL 설치

Board Pagination Prev 1 2 3 4 5 Next
/ 5

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234