Grundsätzlich kann YaBB 2.6x mit den Zeichensätzen UTF-8 und ISO-8859-1 ausgeführt werden.
Wird das Forum komplett neu aus den Archive neu installiert, wird es wohl keine Probleme geben.
Das hiesige Forum habe ich aus einem Mix von Neuinstallation und bereits aufbereiteten Sprachdateien für die deutsche Sprache erstellt.
Die Zeichensatzeinstellungen für das Forum habe ich auf UTF-8 gesetzt, aber die Sprachdateien lagen im Zeichensatz ISO-8859-1 vor.
Dies führte zu kryptischen Darstellungen der in der deutschen Sprache oftmals genutzten Buchstaben ä und ö und ü und ß sowie Ä und Ö und Ü.
Somit mussten die Sprachdateien, auch die englischsprachigen Dateien, konvertiert werden, um eine ordnungsgemäße Darstellung zu ermöglichen.
Mit einem kleinen Python-Tool konnte ich die Konvertierung sehr schnell erledigen. Zwar hätte ich dies auch in Perl schreiben können, aber Python liegt mir derweil doch etwas mehr. Die Perl-Version werde ich dann noch nachliefern.
#!/usr/bin/env python3
# *************
# python3 adhoc_encode_iso88591_to_utf8.py
# Autor: Joopi
# Datum: 29.11.2024
# *************
#
import os
import pathlib
quellpfad = "../yabb_jopii/cgi-bin/yabb2/Languages/German_informal/iso88591/"
zielpfad = "../yabb_jopii/cgi-bin/yabb2/Languages/German_informal/utf8/"
# quellpfad = "../yabb_jopii/cgi-bin/yabb2/Languages/English/iso88591/"
# zielpfad = "../yabb_jopii/cgi-bin/yabb2/Languages/English/utf8/"
for datei in sorted(pathlib.Path(quellpfad).iterdir()):
if datei.is_file():
filename = os.path.basename(datei)
ziel = f"{zielpfad}{filename}"
# ISO-8859-1-kodierte Datei lesen und in UTF-8 konvertieren
with open(datei, "r", encoding="iso-8859-1") as file:
text = file.read()
# In UTF-8 kodierten Text zurückschreiben
with open(ziel, "w", encoding="utf-8") as output_file:
output_file.write(text)
print(f"Die Sprachdatei {datei} wurde bearbeitet.")