• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

UTF-8 Problem

Poehli

New member
Hey guys,

Ich hab heute mal ein richtig merkwürdiges Problem zu liefern:
Auf meiner Webpage werden alle Beiträge die ich oder ein anderer erstellt hat richtig angezeigt, bis auf 6. Dort werden die Umlaute und so nicht angezeigt...... Wie kann dass angehen??

Dann noch eines (Ich hab htmlentities() benutzt, da keine Umlaute angezeigt wurden!!:
htmlentities() expects parameter 2 to be long, string given in (...)/Login/gaestebuch.php on line 26

line 21-26:
PHP:
$inhalt = $rows["inhalt"];
echo htmlentities($inhalt, "ISO-8859-15");

echo htmlentities($inhalt, "ISO-8859-1");

echo htmlentities($inhalt, "cp1252");

Danke schon mal für die Hilfe!!
 
Hey guys,

Auf meiner Webpage werden alle Beiträge die ich oder ein anderer erstellt hat richtig angezeigt, bis auf 6. Dort werden die Umlaute und so nicht angezeigt...... Wie kann dass angehen??

ich versteh nur Bahnhof...
Formuliere bitte nochmal einen sinnvollen Satz, und ich glaube ohne den Code wird man hier nicht weiterkommen.
 
Ich hab heute mal ein richtig merkwürdiges Problem zu liefern:
Auf meiner Webpage werden alle Beiträge die ich oder ein anderer erstellt hat richtig angezeigt, bis auf 6. Dort werden die Umlaute und so nicht angezeigt...... Wie kann dass angehen??
Das Wissen wir nicht. Aber bist du sicher, dass diese Zeichen nicht angezeigt werden? Das würde ja bedeuten, irgend etwas oder wer hat sie gelöscht.
 
Hatte ich auch schon nachgeguckt... funktioniert aber iwie nicht!!

Danke für die Hilfe!!

Der Verweiß sollte dir zeigen, dass du htmlentities falsch benutzt. Als 2 Parameter wird nicht ein Charset (String) sondern der Quote_Style (int) erwartet. Optionale Parameter kannst du zwar weglassen, aber nicht in beliebiger Reinfolge angeben.

Gibt es in diesen 6 Beiträgen irgendwelche Besonderheiten? (Die letzten 6, die einzigen 6 mit Umlauten...)?
Wo werden die Beiträge gespeichert? Werden die Umlaute dort richtige angezeigt?
 
Der Verweiß sollte dir zeigen, dass du htmlentities falsch benutzt. Als 2 Parameter wird nicht ein Charset (String) sondern der Quote_Style (int) erwartet. Optionale Parameter kannst du zwar weglassen, aber nicht in beliebiger Reinfolge angeben.

Gibt es in diesen 6 Beiträgen irgendwelche Besonderheiten? (Die letzten 6, die einzigen 6 mit Umlauten...)?
Wo werden die Beiträge gespeichert? Werden die Umlaute dort richtige angezeigt?

1) versteh ich das richtig:
Ich kann nicht
PHP:
echo htmlentities($inhalt, "ISO-8859-15");
sagen, sondern muss
PHP:
echo htmlentities($inhalt,ENT_NOQUOTES, "ISO-8859-15");
machen??
Es funktioniert leider auch nicht!! Ich habe alle drei Methoden versucht, doch wird jetzt der inhalt mehr als einmal pro spalte angegeben!?!

2) keine Gemeinsamkeiten... Ich hab aber herausgefunden, dass es nur im FF und Safari richtig angezeigt wird, also muss ich da auch nochmal htlentities machen!!

Danke für die Hilfe soweit!! Wenn mehr Tips sind bitte melden ^^
 
Zuletzt bearbeitet:
Naja die werden mit nem Fragezeichen in einer schwarzen Raute angezeigt!!
Dann wurden sie auch nicht nicht angezeigt wie du oben sagst.

Dann stimmen deine Kodierungen nicht. Bevor du hier mit irgendwelchen Funktionen rummurkst, warum machst du dir nicht Gedanken darüber was das Problem ist?

1. Welche Kodierung verwendet deine Seite?
2. Welche Kodierung hat dein Quellcode?
3. kommen Daten aus einer Datenbank? Wenn ja, in welcher Kodierung?

Wenn diese drei Fragen geklärt sind, ist es einfacher dir zu helfen.
 
1. Welche Kodierung verwendet deine Seite?
2. Welche Kodierung hat dein Quellcode?
3. kommen Daten aus einer Datenbank? Wenn ja, in welcher Kodierung?


meine Seite verwendet natürlich UTF-8
Mein Quelltext ist auf Automatisch gesetzt
Und wie ich von der Datenbank das Rausfinde, weiß ich nicht!!

Doch wird es trotzdem nicht richtig angezeigt... Muss also irgendwie and der Database liegen oder??
 
meine Seite verwendet natürlich UTF-8
Wieso natürlich?
Mein Quelltext ist auf Automatisch gesetzt
Das beantwortet nicht die Frage.
Und wie ich von der Datenbank das Rausfinde, weiß ich nicht!!
Das läßt sich entweder rausfinden, wenn man die Antwort der Frage 1 und 2 weiß, oder mit einem entpsrechendem Tool, wir wissen aber ncith welche Datenbank du verwendest.

Doch wird es trotzdem nicht richtig angezeigt... Muss also irgendwie and der Database liegen oder??
Was heißt denn eigentlich "nicht richtig angezeigt"?
wie gesagt, wenn wir die Antwort der drei Fragen Wissen wären wir einen Schriftt weiter.
 
Die Zeichen die aus der Datenbank kommen, sind nicht in utf-8 sondern ISO

EDIT: Der Metatag ist übrigens zweitrangig, wichtig ist dass der HTTP Header den richtigen Zeichensatz sendet (was er bei dir tut)
 
Hab grade mal einen neuen Eintrag ein mein GB gemacht, jetzt werden die Umlaute angezeigt o_O Sieht in MySQL dann so aus ->äüö ..aber egal, Hauptsache es funktioniert.

Ich frage mich nur, wieso das vorher nicht funktioniert hat.
 
Das sieht nicht in MySql so aus, sondern dein Anzeigeprogramm, mit dem du die MySql Daten anschaust, stellt keine utf-8 Zeichen dar.
 
Ich hab nie richtig verstanden wie ich den Header einstelle... Ich hab den von der W3 Seite... weiß nich ob der richtig is...
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
 
Das ist der DOCTYPE nicht der Header. Den HTTP header konfigurierst du mit dem Server z.b. in der .htaccess Datei
Da sieht man mal wieder, dass man auch nach Monaten immer noch ein Anfänger ist ;)

Naja ich hab jetzt n bischen gegooglet und gefunden wie ich den Header in .htaccess einstelle...
PHP:
AddDefaultCharset UTF-8
AddLanguage en-US .html .htm .css .js .php
ist das richtig?? Es funktioniert nämlich immer noch nicht bei mir... Das regt mich langsam echt auf... Danke aber für die Hilfen!!:D
 
Zurück
Oben