Sonderzeichen und kyrillisch

Sebastian1
Hallo Gemeinde!

Als neuer Besitzer einer WBB2.3.6-Lizenz möchte ich, dass in meinem Board osteuropäische Sonderzeichen (serbisch/bosnisch/kroatisch) sowie kyrillische Zeichen funktionieren. Dazu habe ich die function htmlconverter in der acp/lib/functions.php wiefolgt geändert:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
function htmlconverter($text) {

	global $phpversion;

	$charsets = array('ISO-8859-1', 'ISO-8859-15', 'UTF-8', 'CP1252', 'WINDOWS-1252', 'KOI8-R', 'BIG5', 'GB2312', 'BIG5-HKSCS', 'SHIFT_JIS', 'EUC-JP');

	if (version_compare($phpversion, '4.3.0') >= 0 && in_array(wbb_strtoupper(ENCODING), $charsets)) return str_replace('&', '&', @htmlentities($text, ENT_COMPAT, ENCODING));

	elseif (in_array(wbb_strtoupper(ENCODING), array('ISO-8859-1', 'WINDOWS-1252'))) return str_replace('&', '&', htmlentities($text));

	else return str_replace('&', '&', htmlspecialchars($text));

}


Wie ihr seht, werden die &s einfach durch &s ersetzt. Das erschien mir die simpelste Lösung zu sein.
Ergebnis: Kyrillisch funktioniert, sogar arabisch. Auch die serbisch/bosnisch/kroatischen Sonderzeichen funktionieren, allerdings nur in Benutzernamen, Thread-Titeln, Foren-Titel, Foren-Beschreibungen -- nicht aber in Beiträgen und Signaturen.

Wenn man z.B. in einen Beitrag ein C mit einem Akut (c´) schreibt, dann erscheint es nicht im Beitrag: Auf Windows-Systemen verschwindet es komplett, unter Linux ist ein eckiger Kasten für ein nicht darstellbares Zeichen zu sehen. Das gleiche Bild im phpmyadmin. Kyrillisch wird also beim Eintrag in die Datenbank korrekt maskiert, während die osteuropäischen Zeichen irgendwie verstümmelt werden.

Habt ihr eine Lösung für das Problem oder auch nur einen Ansatz für mich, welche function hier geändert werden muss?
Abd.
Vielen Dank!

Dein Code hat mir sehr geholfen, die arabische Schrift im Forum endlich korrekt darzustellen.
smile

M-F-G
jens@fireball
gibt es schon eine funktionierende lösung? habe das gleiche problem wie sebastian.

bjoern

Diakritisches Zeichen

* Akut ([lat.: „scharf“], accent aigu, acute accent, Kreska, wie in é), siehe auch: Óó
* Apostroph (im Tschech. eine allografische Variante des Hatscheks: wie in )
* Breve (Brevis [lat.: „kurz“], Halbkreis, wie in ; beachte die runde Form)
* Breve darunter (wie in &#7723Augenzwinkern
* Cédille (Zedille, Zedilla [span.: „kleines z“], Cedille, Cedilla, wie in ç)
* Cédille, übergesetzte (übergesetztes Komma, der Form nach wie ein übergesetztes einfaches schließendes deutsches Anführungszeichen!, im Lett. eine allografische Variante der Cédille, wie in #)
* Doppelakut (wie in Q)
* Gravis ([lat.: „schwer“], Grave, accent grave, wie in è)
* Hatschek (Há
ek, Caron, Häkchen, wie in
; beachte die spitze Form)
* Horn (wie in ¡)
* Komma, untergesetztes (im Rumän. und Lett. ähnlich der Cédille, wie in )
* Kroužek (Ring, Kringel, Kreisakzent, wie in å) siehe auch: Åå
* Makron (Macron, Querstrich, Balken, Längestrich, wie in )
* Unterstrich (Makron darunter wie in a)
* Mittelpunkt (wie in l·l)
* Ogonek (Nasalhaken, Krummhaken, wie in )
* Punkt (wie in i, |)
* Punkt darunter (wie in ḍ, &#7789Augenzwinkern
* Schrägstrich (Slash, Kreska uko[na, wie in ø, B) siehe auch: Øø, AB
* Tilde (wie in ñ)
* Trema ([griech.: „Loch, Punkt“], Diärese, Umlautzeichen, wie in ü, ë)
* Zirkumflex ([lat.: „Wölbung“], circumflex accent, Circonflexe, wie in ê)