#php #api #character #vimeo #cjk
#php #API #символ #vimeo #cjk
Вопрос:
При вызове моего API он должен возвращать заголовок видео, описание, картинки и так далее. И иногда в моем видео есть китайские иероглифы. Итак, когда я распечатал массив JSON, китайский символ показывает что-то вроде этого: » u4e00 u5bb6 u4e0a u5e02 u4e0d u4e45 u7684 u5bb6 u5177 u4e1a».
Итак, мой вопрос в том, как я могу распечатать китайское слово при вызове API и распечатать?
header('Content-Type: text/html; charset=utf-8');
require ("vendor/autoload.php");
use VimeoVimeo;
$client = new Vimeo("{client_id}", "{client_secret}", "{access_token}");
$video_id ="xxxxx";
$response = $client->request("/videos/$video_id");
//var_dump($response['body']);
if($response['status'] === 200){
header('Content-Type: application/json');
echo json_encode($response['body']);
}
else {
echo json_encode($response['body']['error']);
}
Ответ №1:
используйте json_encode
с некоторыми параметрами, чтобы предотвратить преобразование китайских символов.
header('Content-Type: text/html; charset=utf-8');
require ("vendor/autoload.php");
use VimeoVimeo;
$client = new Vimeo("{client_id}", "{client_secret}", "{access_token}");
$video_id ="xxxxx";
$response = $client->request("/videos/$video_id");
//var_dump($response['body']);
if($response['status'] === 200){
header('Content-Type: application/json');
echo json_encode($response['body'], JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
}
else {
echo json_encode($response['body']['error']);
}
Комментарии:
1. это так полезно!! Потому что я прочитал много разных ответов, и все равно это не работает. Stack overflow действительно нуждается в большем количестве таких людей, как вы, которые могут хорошо понять проблему программиста.
2. Спасибо, брат. мне действительно нравится вносить свой вклад в stack overflow.