2014-02-15 59 views
0

好吧我管理創建我的播放列表通過掃描我的媒體文件夾(glob()PHP)函數來建立播放列表,但目前如果文件有中文/日文名稱將在播放時遇到問題。現在測試我的MP3文件名是這個(注意我是在Linux主機)jplayer utf8文件名mp3問題

01-中國話.MP3 < - 文件名

但對於jplaylist

我看來源代碼中我看到這個

標題: 「Ö Ð ¹ ú » °」, MP3: 「playfile.php文件= 01-й.mp3」, 藝術家: 「SHE」

,你可以看到我有這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

它看起來像你試圖輸出一個JavaScript對象文字。嘗試使用JSON編碼此:

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

OMG它的工作...感謝的人,你是一個生命的救星在這裏...非常感謝你...是尋找一種方法來編碼,但沒有成功,而不是通過使用json_encode將是解決方案... – user1217609

+0

@ user1217609很高興你的工作!請務必檢查對您有用的答案旁邊的綠色複選標記。 – Brad