Hallo,
für ein Projekt möchte ich mit php (LAMP) Coverbilder zu meinen mp3s hinzufügen, außerdem einige Tags modifizieren.
um einen definierten Prozess zu haben habe ich mich entschieden die Tags mit mp3tag zu exportieren und mit php dann erneut in die mp3s zu schreiben.
Als Format der Wahl habe ich JSON probiert (https://www.snip2code.com/Snippet/48593/MP3Tag-export-script-for-generating-a-JS)
Allerdings weigert sich php die von eingelesene json-Datei in ein array zuschreiben (json_decode) ich bekomme immer unexpectet Character.
Der Fehler tritt nicht auf wenn ich den Dateinhalt händisch in eine neue Textdatei speichere.
Wenn mp3tag korrekt als utf-8 speichert und ich bei php alle Encodings auf utf-8 stelle sollte ja json_encode nicht so einen Feher rausgeben oder?
Da die Tags Umlaute enthalten kommt nur UTF-8 oder UTF-16 in Frage oder? Scheinbar ist json nicht das Format der Wahl für Texte mit Umlauten?
<?php
mb_internal_encoding("UTF-8");
iconv_set_encoding("input_encoding", "UTF-8");
iconv_set_encoding("output_encoding", "UTF-8");
iconv_set_encoding("internal_encoding", "UTF-8");
$json="./mp3tag.json";
$json_txt=file_get_contents($json); // bis hier alles gut, kann den Text auch ausgeben
$album_data=json_decode($json_txt, true);
echo"json_decode():".json_last_error_msg(); // hier kommt "unexpected character"
?>
file_get_contents und php ansich mögen utf-8 nicht wirklich, aber irgendwie muss man die Daten ja einlesen...
Wie kann ich denn noch exportieren dass php es einlesen kann?