웹 개발을 하다보면 PHP를 사용하여 데이터베이스에서 데이터를 가져와 JSON 형식으로 클라이언트에게 응답해야 할 때가 있습니다. 그런데 가끔 데이터베이스에서 가져온 한글 데이터가 JSON 응답에서 깨져 보일 때가 있습니다. 이 문제를 해결하기 위해 이 블로그 포스트에서는 한글 데이터를 올바르게 처리하는 방법에 대해 알아보겠습니다!
1. 데이터베이스 연결 설정
첫 번째로, 데이터베이스 연결 설정 부분에서 MySQL 연결 문자열의 문자 집합을 UTF-8로 설정해야 합니다. 아래 코드를 추가하면 됩니다
mysqli_set_charset($conn, "utf8");
2. JSON 응답 생성
두 번째로, JSON 응답을 생성하는 부분에서 JSON_UNESCAPED_UNICODE 옵션을 사용하여 유니코드 문자열을 올바르게 처리합니다.
header('Content-Type: application/json; charset=UTF-8');
echo json_encode($drinkInfo, JSON_UNESCAPED_UNICODE);
저는 아래와 같은 코드로 수정하였더니 에러를 해결할 수 있었습니다!
// 데이터베이스 연결 설정 include('./connect.php'); mysqli_set_charset($conn, "utf8");