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

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 까지 나와있으니) 후자의 경우를

사용하면 되겠다.

About KENNETH 11325 Articles
지락문화예술공작단

Be the first to comment

Leave a Reply

Your email address will not be published.


*


This site uses Akismet to reduce spam. Learn how your comment data is processed.