ID3标签中的奇怪符号

时间:2012-12-20 23:42:17

标签: php html mp3 metadata

我在php中使用元数据阅读器。它工作得很好,但是当我用它来输入来自INPUT中的函数的值时,我在输入框中得到了奇怪的符号。

以下是源代码:

if($fileStatus == 1){
    include ("include/functions.php");
    $filename=$uploaded;
    $mp3file=new CMP3File;
    $mp3file->getid3($filename);
    $hej = "hejhejhej";
    ?>
    <form>
        <input type="text" name="hej" value="<?php echo $hej;?>">
        <input type="text" name="title" value="<?php echo "$mp3file->title";?>"><br>
        <input type="text" name="artist" value="<?php echo "$mp3file->artist";?>"><br>
        <input type="text" name="album" value="<?php echo "$mp3file->album";?>"><br>
        <input type="text" name="year" value="<?php echo "$mp3file->year";?>"><br>
        <textarea name="artist"><?php echo "$mp3file->comment";?></textarea><br>
        <input type="text" name="genre" value="<?php echo "Ord($mp3file->genre)";?>"><br>
    </form>
    <?php   
}

我从浏览器获得的源代码:

<form>
                    <input type="text" name="hej" value="hejhejhej">
                    <input type="text" name="title" value="Selene

截图

3 个答案:

答案 0 :(得分:0)

尝试使用HTML实体。

这可能是因为UTF-8并且浏览器不支持该编码。可能是,PHP的htmlentities可能对你有所帮助。替换:

<?php echo $hej;?>

使用:

<?php echo htmlentities($hej);?>

答案 1 :(得分:0)

您看到的奇怪字符是因为CMP3File使用fread从实际的MP3文件中获取字节(如果您想了解更多信息,请阅读ID3标签)。如果要将实际字节看作字符串,请使用ord函数:

<?php
    for($i = 0; $i < strlen($mp3file->title); $i++) {  
        echo ord($mp3file->title[$i]);  
    }  
?>

答案 2 :(得分:0)

此问题的解决方案是“Trim()”