charset=utf8 VS ‘SET NAMES “utf8″‘ in PHP pdo_mysql

2019-03-26 KENNETH 0

pdo_mysql 기반의 DB커넥션을 찾다보니소개하는 글마다 약간의 차이가 있는 항목이 있음… 바로 charset을 설정하는 부분… 어떤 소개자료에서는$pdo->exec(“set names utf8”)이렇게 설명을 하기도 하고 어떤 소개자료에서는“charset=utf8”이런 형태로… 두 사례의 결과는 동일하지만 “왜 이렇게 해야 하는가?” 하는 의문이 들었음그래서 찾아보니 PHP-5.3.6 이전 버전에서는 charset 옵션이 적용되지 않는 문제가 있었기 때문에$pdo->exec(“set names utf8”)요런식으로 사용해왔음 하지만 이후 버전에서는 해결되어접속 선언 파라미터에$pdo = new PDO(“mysql:host=$host;dbname=$db;charset=utf8”, $user, $pass);즉, “charset=utf8” 옵션을 추가해 주면 된다. 는것… 구버전(php-5.3.6이전)을 사용한다면 전자의 경우를.. 이후 버전을 사용한다면(하긴… 요즘 7.X 까지 나와있으니) 후자의 경우를 사용하면 되겠다.