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. mysql old_password 문제

    Date2010.06.19 ByADMINPLAY Views18621
    Read More
  2. MySQL 오류 테이블 복원

    Date2010.05.29 Byl2zeo Views17440
    Read More
  3. MySQL errno 의미 확인

    Date2010.05.29 Byl2zeo Views16743
    Read More
  4. [MySQL] OPTIMIZE, TRUNCATE, 테이블복구, DB공간제한

    Date2010.05.29 Byl2zeo Views16643
    Read More
  5. latin1 로 저장된 db 를 euckr 또는 utf8로 변환하는 방법

    Date2010.05.28 ByADMINPLAY Views16716
    Read More
  6. 서버에서 mysql euckr과 utf8 같이 사용하기

    Date2010.05.03 ByADMINPLAY Views12979
    Read More
  7. mySQL 설치

    Date2010.05.03 ByADMINPLAY Views13083
    Read More
  8. lower_case_table_names=1

    Date2010.04.02 ByADMINPLAY Views18210
    Read More
  9. MySQL 명령어 정리

    Date2010.03.08 Byl2zeo Views10412
    Read More
  10. Another app is currently holding the yum lock; waiting for it to exit 해결법

    Date2010.03.08 Byl2zeo Views18425
    Read More
  11. PHP5와 MySQL5 연동시 한글 인코딩 문제 해결방법 (UTF-8으로의 변환)

    Date2010.03.08 Byl2zeo Views12765
    Read More
  12. MySQL Error 2006 : MySQL server has gone away 해결하기

    Date2010.03.08 Byl2zeo Views12783
    Read More
  13. Redmine database를 복구 하고자 할 때

    Date2010.03.06 Byl2zeo Views15806
    Read More
  14. Starting MySQL.Manager of pid-file quit without updating fi[실패]

    Date2010.01.28 ByADMINPLAY Views20024
    Read More
  15. MySQL 데이터 정리후에도 용량변동이 없을 경우

    Date2009.12.31 ByADMINPLAY Views8784
    Read More
  16. Mysql bin log 로테이션 방법

    Date2009.11.26 ByADMINPLAY Views9714
    Read More
  17. 리눅스를 이용한 클러스터링 구축법

    Date2009.11.19 ByADMINPLAY Views10888
    Read More
  18. MySQL Replication(복제)

    Date2009.11.19 ByADMINPLAY Views7951
    Read More
  19. MySQL Replication

    Date2009.11.19 ByADMINPLAY Views8245
    Read More
  20. Mysql Replication(Master, Slave) 설정

    Date2009.11.19 ByADMINPLAY Views9863
    Read More
Board Pagination Prev 1 2 3 4 5 Next
/ 5

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234