Rosaliefan
Problembeschreibung:
In meinem Forum werden Umlaute nicht angezeigt aber auch Sonderzeichen nicht,
Ich habe in der acp/lib/funtions.php
function htmlspecialchars_old($text) {
return htmlspecialchars($text,ENT_QUOTES | ENT_HTML401,'ISO-8859-1');
}
und in allen php dateien die htmlspecialchars in htmlspecialchars_old abgeändert, auch nach dem ich mehrmals überprüft habe wird mir kein ß angezeigt, aber auch kein » und das Copyright zeichen wird ebenfalls nicht mehr angezeigt, sondern es taucht dieses Zeichen auf � .
Im acp habe ich mehrmals kontrolliert trotzdem werden mir hier die Umlaute nicht angezeigt
Fehlermeldung:
Es ist keine wirkliche Fehlermeldung sondern immer nur das
Link zum Forum und Screenshot (KEINE Bilderhoster, per Dateianhang):
Was wurde zuletzt geändert oder eingebaut?
Es wurde bis jetzt nichts gemacht außer die Änderung mit htmlspecialchars_old
S!equenz
Ich vermute das hier der Webserver auf UTF8 eingestellt ist, öffne einfach mal ein Template und speichere es als utf8 ab.
Das hat jedenfalls nichts mit der Datenbank zu tun.
Am einfachsten wäre es vermutlich den Webserver auf Latin1 umzustellen.
Rosaliefan
Ich bin bei einem freehoster bplaced und glaube nicht das ich da was am Webserver verändern kann ^_^
Aber wie genau meinst du das mit dem Template als utf8 abspeichern?
Gibt es noch eine Alternativ möglichkeit?
S!equenz
Dazu brauchst du einen speziellen Editor z.b. PSPad oder Notepad+
Da kann man die Zeichenformatierung dann ändern.
Ich vermute das es am Webserver liegt weil der ja für die Ausgabe letzten endes zuständig ist.
Einen anderen Weg gibt es leider nicht.
Mittlerweile ist der Standard einfach UTF8 und nicht wie früher Latin1.
Warum man das auch immer ändern musste.
Rosaliefan
Und die Datenbank umstellen auf UTF8 würde nichts bringen richtig?
S!equenz
Richtig, weil die entsprechenden Sonderzeichen sich ja in den Templates befinden und nicht in der Datenbank.
Probier halt einfach mal aus ein Template anzupassen und wenn es funktioniert dann halt alle.
lg
Rosaliefan
Also ich habe es probiert, aber es bleibt unverändert.
Ich habe es probiert mit UTF8 und UTF8 ohne BOM, keines von beidem hat irgendwas verändert ._.
S!equenz
Wie genau hast du das jetzt gemacht und welches Template hast du genau bearbeitet?
Rosaliefan
Ich weiß nicht wieso aber jetzt auf einmal geht es
Danke für die Hilfe
S!equenz
Vermutlich F5 gedrückt.
Rosaliefan
Jetzt ist aber noch ein kleines Problem übrig geblieben und zwar in dem ACP unter Einstellungen Optionsgruppen bleibt die Fehlermeldung, ich hab die optionsgroup templates überprüft aber die sind in UTF8 trotzdem werden weder Umlaute angezeigt noch Sonderzeichen ._.
S!equenz
Screenshot?
Weiß nicht genau was du meinst, aber zur sicherheit mal den Browsercache löschen.
Oder mit nem anderen Browser mal schauen ob das Problem da auch auftritt um den Cache beizubehalten.
Dragosius
Deine Methode am Anfang ist zwar ähnlich, aber du kannst ja mal das hier probieren.
<?php
ini_set("default_charset", "iso-8859-1");
?>
Rosaliefan
²S!equenz
Ich hab dir als Dateianhang ein Screenshot reingepackt.
Browsercache habe ich gelöscht bleibt unverändert.
Hab es mit Firefox und mit Opera geöffnet beides mal sieht es aus wie auf dem Screenshot
²Dragosius
Wo genau soll ich das einfügen?
S!equenz
Ja das ist in der DB da dann bitte das machen:
code: |
1:
2:
3:
4:
5:
|
function htmlspecialchars_old($text) {
return htmlspecialchars($text,ENT_QUOTES | ENT_HTML401,'ISO-8859-1');
}
|
|
Rosaliefan
Ich hab jetzt in der DB den SQL befehl eingeben wollen aber da taucht diese Fehlermeldung auf
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'function htmlspecialchars_old($text) {
return htmlspecialchars($text,ENT_QUOTES' at line 1
S!equenz
Das ist doch kein SQL befehl
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
|
Schritt 1:
##########
Öffne die "acp/lib/functions.php" und suche nach:
-------------------------------------------------
<?php
Füge darunter ein:
------------------
function htmlspecialchars_old($text) {
return htmlspecialchars($text,ENT_QUOTES | ENT_HTML401,'ISO-8859-1');
}
Schritt 2:
##########
- Die Folgende Suchstelle KANN per Datei mehrfach
vorkommen, gegebenenfalls auch mehrmals austauschen. -
Suche in ALLEN php Datein nach:
-------------------------------
htmlspecialchars(
Ersetze gegen:
--------------
htmlspecialchars_old(
|
|
Rosaliefan
oops
Ich hatte das schon drinne
auf einmal wird mir diese Fehlermeldung angezeigt
Parse error: syntax error, unexpected end of file in /users/australian/www/global.php(96) : eval()'d code on line 2
Warning: Cannot modify header information - headers already sent by (output started at /users/australiandream/www/global.php(96) : eval()'d code:2) in /users/australian/www/acp/lib/functions.php on line 102
Warning: Cannot modify header information - headers already sent by (output started at /users/australiandream/www/global.php(96) : eval()'d code:2) in /users/australian/www/acp/lib/functions.php on line 102
S!equenz
häng die datein mal an.
Rosaliefan
So hab dir beide Dateien mal angehängt ^_^