[PHP] iconv 사용 시 텍스트가 잘릴 때
·
Development/PHP
문자열이 잘리는 경우가 발생해서 확인해보니, 인코딩 문제인 것 같았다. iconv에서 발생한 문제였다. iconv 함수로 캐릭터셋을 변경할 때, 텍스트가 잘리는 경우가 있다. 확인해보니 변환될 캐릭터셋에서 표현하지 못하는 문자를 만날 경우, 해당 문자 이전까지만 return되어 텍스트가 잘리는 현상이 발생한 것이였다. 변환하고자하는 인코딩에 '//IGNORE'을 추가하면 오류 문자는 무시하게 되어 전체 텍스트가 출력된다. $strText = iconv("euckr", "utf8", $strText); # 기존 $strText = iconv("euckr", "utf8//IGNORE", $strText); # 변경 //IGNORE 추가 이 외에도 DB에 데이터가 잘리는 경우에 테이블 인코딩, 이모티콘/이모지..
인코딩 깨질 때
·
Development/PHP
1. DB connect 확인 # DB Connent $DB = new db4mysql(); $DB -> getConnection(); mysql_query ( 'set names utf8' ); // 추가 인코딩 깨질 때는 EUC-KR 일 수 있으니 확인하기 2. 파싱하는 경우, Content-Type 추가해주기(UTF-8) $strParse.= "Content-Type: text/html;charset=UTF-8\r\n"; 3. iconv 함수 사용 # DE(독일어) $strBody = iconv("ISO-8859-1","utf-8", $strBody); + #그래도 깨질 경우, 각각 iconv함수를 사용한다. $strWrite = iconv("ISO-8859-1","utf-8", $strWrite)..