当前,我正在尝试将JSON输出转换为UTF8,我正在使用charset=utf-8
,但仍然无法正常工作。我不知道为什么会这样,因为我将charset设置为utf-8。另外,我的link
输出包含\
,例如:http:\/\/127.0.0.1\/freela\/music\/\/SERVER\/Titas - Epitafio.mp3
。如何避免呢?
您可以在此处进行检查:http://ntcdn.stream/audio/abc.php
<?php
header('Content-type: text/html; charset=utf-8');
ini_set("display_errors", 1);
function getList() {
$actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]/";
$log_directory = "SERVER/";
$main_array = [];
$i = 1;
foreach(glob($log_directory.'*.*') as $file) {
$file = str_replace($log_directory, "", $file);
$file = str_replace(".mp3", "", $file);
if (strpos(utf8_encode($file), '-') !== false) {
$string = explode('-', utf8_encode($file));
$desc = $string[0];
} else {
$desc = "";
}
$main_array[] = array(
'id'=>$i,
'name'=>$file,
'description'=>trim($desc),
'link'=>$actual_link.$log_directory.utf8_encode($file).'.mp3',
);
$i++;
}
$out = array_values($main_array);
echo(json_encode($out));
}
getList();
?>
希望您能理解我在这里所说的话。谢谢!
答案 0 :(得分:2)
而不是json_encode($out)
,请尝试:
json_encode(out, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES)