티스토리 뷰
json 한글이 ?로 깨질때
php에서 json값을 출력할때 header에 charset utf-8 로 지정해줘도 한글이 ??? 로
표시될때가 있다.
header("Content-type: application/json; charset=utf-8"); echo json_encode($res);
원인 : json에서 값 받아올때 DB에서 캐릭터셋이 지정되어있지 않은경우이다.
DB connect 할때 charset 을 지정하는 옵션에서 utf8 로 지정해 주어야 한다.
mysqli
$conn = new mysqli("localhost", "root", "", "test"); if ( $conn->connect_errno ){ die("Could not connect to database!"); } /* change character set to utf8 */ if (!$conn->set_charset("utf8")) { printf("Error loading character set utf8: %s\n", $conn->error); exit(); }
PDO
<?php $dbHandle = new PDO("mysql:host=$dbHost;dbname=$dbName;charset=utf8", $dbUser, $dbPass, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"));
mysql_connect
<?php $link = mysql_connect('localhost', 'user', 'password'); mysql_set_charset('utf8',$link); $db_selected = mysql_select_db('emp_feedback', $link);
'■ 백엔드 ■ > PHP' 카테고리의 다른 글
PHP5 PASSWORD HASH GENERATOR (0) | 2018.07.26 |
---|---|
php 웹페이지 엑세스 솔루션들 (0) | 2018.06.21 |
prepare and bind_param (0) | 2018.05.24 |
html에서 php 구문 사용하기 ( php에서 .html 파일 사용 하기 ) (0) | 2018.03.19 |
php 에서 <?php 가 아닌 <? 로 축약어 사용하기 (0) | 2018.03.19 |
댓글