MX-Shoutbox - Türkische Buchstaben/Wörter erkennt man nicht

Begonnen von Ersin, 05 November 2007, 10:45:07

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Ersin

Lieber Atahan,

alles scheint tadelos zu funktionieren,nur gibt es eine Kleinigkeit...

wenn man auf türkisch schreibt,stehen da nur Zeichen wie #&% usw.Besucher aus Deutschland haben nicht das Problem,nur speziell die Jenigen,die aus der Türkei sind und die türk. Wortwahl benutzen.Weisst du,wie ich das verbessern kann bzw. auf deutsche Buchstaben umstellen kann?Denn du warst mir schonmal beim Gästebuch behilflich,da hatte ich nämlich das gleiche Problem.

Nochmals vielen Dank für die Shoutbox,sieht wirklich klasse aus!

Hier der Link:

http://img477.imageshack.us/my.php?image=unbenannt1qg0.jpg

Sitki

#1
Hallo :),

es scheint ein anderes grundsätzliches Problem auf deiner Seite zu bestehen. Wenn deine Seite im Browser aufgerufen wird, erfolgt keine Erkennung der Seitencodierung auf die Türkische Voreinstellung. Ein Manuelles anwählen der Seitencodierung 'Türkisch ISO-8859-9' schafft nur Abhilfe für die gerade geöffnete Seite, jedoch wird bei jedem Seitenwechsel wieder die Zeichenkodierung 'Westlich ISO-8859-1' angenommen.

Die Umwandlung in der DB als Unicode-Nr. erfolgt nur, wenn türkische Sonderzeichen bei angewählter deutscher Sprache in die Box geschrieben werden.

Nur für deinen Anwendungsfall bitte folgendes testen.

-> in der block-mxShoutbox.php

finde und lösche
$ShoutComment = htmlspecialchars($ShoutComment, ENT_QUOTES);
$ShoutComment = ereg_replace("&", "&",$ShoutComment);

suche
$ShoutNew[$i] = htmlspecialchars(wordwrap(html_entity_decode($ShoutPart, ENT_QUOTES), 21, " ", 1), ENT_QUOTES);

ersetze durch
$ShoutNew[$i] = $ShoutPart;



-> in der shoutbox.php

finde und lösche
$stickyShout = htmlspecialchars($stickyShout, ENT_QUOTES);
$stickyShout = ereg_replace("&", "&",$stickyShout);

$ShoutComment = htmlspecialchars($ShoutComment, ENT_QUOTES);
$ShoutComment = ereg_replace("&", "&",$ShoutComment);

suche
$ShoutNew[$i] = htmlspecialchars(wordwrap(html_entity_decode($ShoutPart, ENT_QUOTES), 21, " ", 1), ENT_QUOTES);

ersetze durch
$ShoutNew[$i] = $ShoutPart;



-> in der index.php

finde und lösche
$ShoutComment = htmlspecialchars($ShoutComment, ENT_QUOTES);
$ShoutComment = ereg_replace("&", "&",$ShoutComment);

suche
$ShoutNew[$i] = htmlspecialchars(wordwrap(html_entity_decode($ShoutPart, ENT_QUOTES), 21, " ", 1), ENT_QUOTES);

ersetze durch
$ShoutNew[$i] = $ShoutPart;
viele Grüße

Kein Support über PN, Mail oder Messenger!
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!

Ersin

Hm..

ich hab genau das gemacht,was du geschrieben hast,aber alles ist imer noch beim alten  :gruebel:.Oder dauert das vielleicht noch etwas?Bis jemand etwas gepostet hat?

Sitki

#3
Hallo :),

diese Änderungen wirken sich nur bei Neueinträgen aus. Also ab dem Zeitpunkt der Änderung. ;)

Die bestehenden (alten) zu ändernden Einträge musst du im Adminbereich der mxShoutbox manuell editieren.

Edit: Ich habe die obigen Codezeilen angepasst. Bitte Änderungen nochmals nach obiger Anleitung vornehmen und testen.
viele Grüße

Kein Support über PN, Mail oder Messenger!
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!

Ersin

Ok,habe jetzt den Rest auch gelöscht.Aber ich konnte die jeweiligen Codes nicht finden,die ich ersetzen sollte.Kannst du bitte nochmal posten auf meiner Seite?Mal sehen,ob es geklappt hat?

Zitat von: Atahan am 05 November 2007, 16:32:29

-> in der block-mxShoutbox.php

suche
$ShoutNew[$i] = htmlspecialchars(wordwrap(html_entity_decode($ShoutPart, ENT_QUOTES), 21, " ", 1), ENT_QUOTES);

ersetze durch
$ShoutNew[$i] = $ShoutPart;



-> in der shoutbox.php

suche
$ShoutNew[$i] = htmlspecialchars(wordwrap(html_entity_decode($ShoutPart, ENT_QUOTES), 21, " ", 1), ENT_QUOTES);

ersetze durch
$ShoutNew[$i] = $ShoutPart;



-> in der index.php

suche
$ShoutNew[$i] = htmlspecialchars(wordwrap(html_entity_decode($ShoutPart, ENT_QUOTES), 21, " ", 1), ENT_QUOTES);

ersetze durch
$ShoutNew[$i] = $ShoutPart;

Ersin

Atahan,ich glaub es hat funktioniert.Habe aus dem Internet türkische Karaktere kopiert und in die shoutbox eingefügt,dieses Mal keine Fehler entdeckt.Du kannst es auch gerne mal ausprobieren.