Php ID3标签中的奇怪符号

Php ID3标签中的奇怪符号,php,html,mp3,metadata,Php,Html,Mp3,Metadata,我正在使用php中的元数据读取器。它工作得很好,但是当我使用它将来自函数的值放入输入时,我会在输入框中得到奇怪的符号 以下是源代码: if($fileStatus == 1){ include ("include/functions.php"); $filename=$uploaded; $mp3file=new CMP3File; $mp3file->getid3($filename); $hej = "hejhejhej"; ?>

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

以下是源代码:

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   
}
if($fileStatus==1){
include(“include/functions.php”);
$filename=$upload;
$mp3file=新的CMP3文件;
$mp3file->getid3($filename);
$hej=“hejhejhej”;
?>
尝试使用HTML实体。
这可能是因为UTF-8,而浏览器不支持这种编码。可能是,PHP可能会帮助您。替换:

<?php echo $hej;?>

与:


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

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


此问题的解决方案是“修剪()

似乎是编码问题。是否使用UTF8?检查是否在所有地方都使用UTF8。数据库、数据库连接、HTTP头、HTML元编码…只是一个猜测,但它可能是ID3v2,CMP3File可能不支持。什么是
CMP3File
?它来自哪里?它使用的是哪个字符编码?什么是
$filename
?如果这是一个带有ID3标记的文件,该文件中的ID3标记数据中使用了哪个字符编码?如果将其放入字符串中,则不会调用它。此外,
ord()
将只对字符串的第一个字符起作用。我得到了这个ord($s)���������������)我是这样写的“echo ord($mp3file->title)”,我得到的答案是“73”最好对字符串进行完整的十六进制转储:我同意hakre的观点,你可能有一个损坏的ID3标记。另外,尝试使用不同的MP3文件,看看是否会出现相同的问题。
<?php echo htmlentities($hej);?>
<?php
    for($i = 0; $i < strlen($mp3file->title); $i++) {  
        echo ord($mp3file->title[$i]);  
    }  
?>