【PHP】curlのjsonレスポンス内 日本語の文字化けを解決

curlAPIを呼び出して返ってきたjsonデータ内の日本語が
文字化けする時の対処方法。色んなサイトを見て色々試した
けどうまくいかなかったり処理が大げさ過ぎたり。

decodeしたのをまたencodeして何やってんだ?って記述だけど、
少なくとも1行で目的は達成できたので紹介。

<?php
$mojibake_kaishou = json_encode(json_decode($response), JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT);
?>

curlの全体の処理はこちら。

<?php
//curlの開始
$curl = curl_init(); 
// オプション設定
$options = array(
CURLOPT_URL => $url,
CURLOPT_CUSTOMREQUEST => $method,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPPROXYTUNNEL => true,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_TIMEOUT => $curlopt_timeout,
);
//オプションの設置
curl_setopt_array ($curl, $options);
//curl実行/リスポンスの代入
$response = curl_exec($curl);
//Uniodeエスケープを元に戻す(ログ出力用)
$unicode_decode_json = json_encode(json_decode($response), JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT);
//Uniodeエスケープを元に戻し、配列に変換する(返り値用)
$unicode_decode_array = json_decode(json_encode(json_decode($response), JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT));
//(curlの戻り値に含まれる日本語がunicodeエスケープされ文字表示されないため一度decodeし、エスケープ処理なしで再度encodeし、それをまたdecodeしている)
?>