jplayer utf8文件名mp3问题

时间:2014-02-15 20:06:54

标签: php jplayer

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

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

但在我查看jplaylist的源代码

我看到了这个

标题:“Öйú»°”, MP3: “playfile.php文件= 01-й.mp3” 艺术家: “S.H.E”

你可以看到我有这个01- й .mp3而不是......

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

       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().'"}';      

1 个答案:

答案 0 :(得分:1)

看起来您正在尝试输出JavaScript对象文字。尝试使用JSON编码:

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