목록엔지니어스 마인드/PHP (5)
하츠의 꿈
새로운 서버를 설치한 후 mysql database를 사용하기 위해 phpMyAdmin을 설치했다. phpMyAdmin은 웹에서 mysql db를 사용하기 상당히 훌륭한 기능을 제공한다. 쿼리는 물론이고, DB 관리, 서버 상태 점검 등 거의 모든 기능을 제공한다. 그런데, phpMyAdmin를 설치한 후 웹에서 접속해보니 무엇지 문제인지 아래와 같은 오류가 발생했다. phpMyAdmin - 오류 mysqli 확장기능이 설치되지 않았습니다. PHP의 설정을 확인하십시오. See our documentation for more information. phpinfo() 함수를 통해 mysqli가 설치되었는지 확인해 보았다. 위 이미지와 같이 MySQLi 항목이 보인다. 그래서 해당 모듈 설치에 문제가 없는 ..
같이 일하는 웹개발자에게 문자메시지 보내는 프로그램을 짜라고 했더니 며칠을 고민한다. 별것도 아닌데 며칠을 끙끙앓고 있길레, 뭣 때문이냐고 물으니 문제가 없는 웹페이지인데 한번 페지이를 부르면 무조건 리로드되어 2번이 실행된다는 것이다. 그럴리가 있냐고 소스를 보여달라고 했다. 소스는 아주간단했다.
다른 시스템과 연동을 하는 중에 흔히 실수하는 것이 여러가지 있다. 자신이 개발하는 문자셋과 연동할 시스템의 문자셋이 다른 것이 그 중 하나다. 당연히 다른 시스템과 문자셋이 다르면 깨져 보이기 때문에 iconv나 mbstring 등의 함수로 처리를 한다. 그런데도 깨진다. 그것은 값을 넘기는 과정에서 변환이 되지 않은 부분이 있던가 아니면 변환한 것을 다시 변환해서 그런 경우가 많다. 다른 시스템(특히 PG 연동 등)에서 내가 보낸 것을 찍어 보기가 어려워서 고민을 한다. 하지만, 최종적으로 값을 넘기는 최종 단계에서 화면에 출력을 해 보면 그것을 알 수 있다. 출력할때는 header함수를 이용해서 해당 페이지의 인코딩을 지정해 놓고 봐야 한다. 문자포맷을 변환할 때는 먼저 해당 문자가 어떤 언어포맷인..
0x00 ~0xFF, 즉 16진수를 말한다. 여기서 "0x" 를 제외한 나머지 2자리 문자가 의미를 갖는다. (다 아는 내용^^;) 타 시스템과 통신을 할 때 이 16진수 헥사코드를 이용하여 데이터를 주고 받는 경우가 많다. 얼마 전에 16진수로 값을 받아서 일부 몇byte를 다시 bit로 해석해야 하는 일이 생겼다. 후배에게 작업을 맡겼는데 어렵다고 해서 설명을 하다가 정리 해 보기로 했다. 소켓으로 날아 온 전문 : 000003e801e00000e995 (총 10 bytes) 각 byte 별 값의 정의 - 1,2 bytes : 장비명 ( 2진수 "11100000" PHP에서의 처리 $dec = hexdec("e0"); // 16진수를 10진수로 변환 $bin = decbin($dec); // 10진수..
별 스럽지 않게 생각하는 것들이 보통 생각이 안난다. Ajax에서 한글 깨지는 것을 여러번 보았건 만.. -_-;; 1. Ajax를 이용해 PHP에서 한글로 javascript에 값을 던지는 경우에 한글이 깨진다. PHP -> javascript 인 경우 www.itpass.co.kr 의 생방송특강창에서 javascript로 1분마다 한번씩 Live인지를 체크하기 위해서 PHP에 물어본다. 요청을 받은 PHP는 다시 javascript에게 결과 값을 던저준다. 이 때 Live이면 한글 강의 제목을 던져준다. - 던지는 PHP에서 값 처리 : rawurlencode(iconv("CP949", "UTF-8", $return_str)) - 받는 Javascript에서 값 처리 : decodeURICompone..