Jplayer UTF8 文件名 mp3 问题



好的 我设法通过扫描我的媒体文件夹 (glob() php) 函数来创建我的播放列表来构建播放列表,但目前如果文件有中文/日文名称,则在播放时会出现问题。 现在测试我的 mp3 文件名是这个(注意我在 Linux 托管下)

01-中国话.mp3 <-- 文件名

但是在我查看 jplaylist 的源代码期间

我看到了这个

标题:"Öйú»°",mp3:"playfile.php?file=01- й .mp3",艺术家:"S.H.E"

如您所见,我正在.mp3这个 01- й 相反...

我获取文件名的方式是这样的

       foreach(glob("{$directory}/*.{$extension}") as $file) {
            $ThisFileInfo = $getID3->analyze($file);
            $songs = new Songs;
            $songs->setTitle($ThisFileInfo['tags_html']['id3v2']['title'][0]);
            $songs->setFileName($ThisFileInfo['filename']); // set file Name
            $songs->setArtist($ThisFileInfo['tags_html']['id3v2']['artist'][0]);
            $files[$file] = $songs;
        }

然后像这样输出

echo $comma.'{title:"'.$obj->getTitle().'",'.$plspacer.'mp3:"playfile.php?file='.$obj->getFileName().'",'.$plspacer.'artist:"'.$obj->getArtist().'"}';      

看起来你正在尝试输出一个JavaScript对象文字。 为此尝试使用 JSON 编码:

echo json_encode(array(
    'title' => $obj->getTitle(),
    'mp3' => 'playfile.php?file=' . urlencode($obj->getFileName()),
    'artist' => $obj->getArtist()
));

最新更新