Seit Ampache 3.4-Beta2 wird eine bestimmte Zeichenkodierung erzwungen. Vorhergehende Versionen versuchten ohne dies ihr bestes zu tun, leider führte das aber zu ungültigem XML und damit zu Anzeigefehlern. Der von Ampache standardmäßig benutzte Zeichensatz ist nun UTF-8.
Die kann eine unterschiedliche Uhrsachen haben. Es folgt eine kurze Checkliste die bei Zeichensatzproblemen durchgegangen werden sollte.
Linux Linux benutzt die locale Tools.
locale
Zeigt Ihnen Ihre aktuellen Einstellungen an.
locale -a
Zeigt Ihnen eine Liste aller installierten locales an
Windows
Die meisten US Windows Installationen benutzen den Windows-1252 oder CP1252 Zeichensatz. Es wird empfohlen diesen auch in Ampache einzustellen.
Sie können alle Einstellungen bezüglich des von Ampache verwendeten Zeichensatzes im Webinterface zurücksetzen. Gehen Sie dazu auf das Admin Tab und klicken Sie auf Ampache Debug → Set Database Charset. Ampache wird nun die gesame Datenbank durchlaufen und sicherstellen dass der in site_charset eingestellte Zeichensatz dem in der Datenbank entspricht. Es könnte von Nöten sein hinterher ein „verify“ zu starten, da diese Funktion keine Änderungen vornimmt. Sie setzt sie nur in der Datenbank.
Ampache stellt Ihnen einige Tools zur Verfügung um mit Zeichensatzproblemem zurechtzukommen. Diese Scripte müssen von der Kommandozeile ausgeführt werden. Nachdem Änderungen an den Tags oder Dateinamen durchgeführt wurden müssen Sie Ihren Katalog updaten. Stellen Sie außerdem sicher dass Ihr Clientsystem die benötigten Schriftarten und Zeichensätze unterstützt.
php ./bin/fix_filenames.inc
Das Script sucht im path Ihrer Kataloge nach Dateinamen mit Zeichen die nicht im in site_charset eingestellten Zeichensatz enthalten sind. Es wird Sie nach dem zu verwendenden Zeichensatz fragen. Wenn Sie keinen angeben wird der output_encoding Wert von iconv() benutzt.
Sie können sich auch die „rohen“ Tags einer Datei mit dem Script print_tags.inc ansehen. Das folgende Beispiel benutzt das hexcat Programm um die Hexwerte anzuzeigen. Sie müssen dann diese mit den Hexwerten vergleichen die zu dem definierten Zeichensatz gehören.
php ./bin/print_tags.inc [FILE] > my.output hexcat my.output