본문 바로가기
운영_설치/리눅스_유닉스

php, mysql 한글 문제

by 써드아이 2013. 6. 21.

터미널 프로그램(putty), mysql, php 의 인코딩이 모두 utf-8

임에도 불구하고 insert 한 데이타의 한글이 깨져 보일 때...


엑셀의 데이타를 텍스트로 저장한 후 mysql에 밀어 넣으면 이상하게 한글이 깨지는 현상이 발생

삽질중에 알고보니 엑셀에서 저장된 파일의 인코딩이 euc-kr (윈도우니 어찌보면 당연?)로 되어 있는 이유였다.


한글 설정이 utf-8로 설정되어 있는 리눅스에서 vim으로 읽어 볼 때 잘 보이길래 당연히 utf-8로 생각했었는데

착각이었슴..


vim 인코딩을 자동으로 판단해 주었기에 정상적으로 보이는 것이였슴.

한참 삽질했네...


vim 상에서 set fileencoding=utf8 후 저장하면 변환되어 저장되지만 매 파일마다 해줘야 하기에 번거로움.

결국  php 프로그램에 변환 코드를 넣어주니 깨끗하게 해결됨.


$str1 = iconv( "euc-kr", "utf-8", $str1 );  // euc-kr 형태의 str1을 utf-8 형태로 변환하여 str2 에 저장