본문 바로가기

prev record

[2010.04.26.월요일] php, 데이터베이스, utf-8, euc-kr

php를 통해서 데이터 베이스에 정보 삽입할 수 없었던 문제가 발생했다. 결과적으로 원인은 utf-8과 euc-kr의 인코딩 문제였다. php 자체는 물론, 보내는 데이터 가 euc-kr 로 되어있었고, 데이터 베이스에서는 uft-8 로 된 정보를 받도록 설정된어 있었다. 당연히 데이터가 들어갈 수 없었다.

보낼 데이터를 임의로 utf-8로 변화시켜 보낸 결과, 이 문제의 원인을 확인 할 수 있었다.

문제 해결 방법은 두 가지가 있다. 보내는 데이터를 utf-8로 바꾸던지, 데이터 베이스를 euc-kr로 받도록 설정을 바꾸는 것이다. utf-8이 플래시에 유리하기 때문에 이걸로 바꾼다.

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
이 테그를   <?php ........ ?>  이거 밖에 넣어서 사용하면 보내는 데이터를 utf-8로 적용 시킬수 있다.

그런데 여기서 또 발생하는 문제는..... php 자체가 딴걸로 인코딩 되어서 폼양식 한글이 깨지게 된다. 이건 php를 utf-8로 다시저장 함으로써 해결할 수 있다.

이 문제는 경력자만이 해결할수있는 문제였다.