PHP Developer ForumHier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here!
Im Anhang seht ihr, dass der Eintrag im <title>...</title> vor der Überschrift "Login" noch 2 komische Kästchen ausspuckt. Mir ist schleierhaft, wo die herkommen. Hier mal der relevante Code:
Ich verwende PHP 5, MSSQL und Stored Procedures zur Datenausgabe. Im Firefox wird teilweise auch 2 Fragezeichen (je nach Version), statt den Kästchen angezeigt!
Die aufgerufene Funktion gibt lediglich einen Text aus der Datenbank zurück:
Der Text in der MSSQL DB steht in einer Spalte mit der Eigenschaften nvarchar(max), Nicht Null !
Wie kommt es zu diesen Zeichen? Anbei: die PHP Files sind in UTF-8 konvertiert (zwecks mehrsprachigkeit)!
Danke schon mal.
mfg streuner
__________________
Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.
"Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
@Amica: Bekomme "Login4c 6f 67 69 6e " raus, wenn ich das mit deinem Code ausgeben lasse.
@Peacie: Was meinst du genau mit "SET NAMES utf8 ?"? Für die MSSQL DB, oder wofür?
mfg streuner
__________________
Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.
"Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"
@Amica: Bekomme "Login4c 6f 67 69 6e " raus, wenn ich das mit deinem Code ausgeben lasse.
Komisch. Kannst du die Seite mit dem Fehler mal lokal speichern und dir in einem Hex-Editor ansehen? Da muss ja noch irgendwas vor dem Wort "Login" stehen.
Du kannst auch mal versuchen, die Zeile (von <title> bis </title>) komplett zu löschen und neu einzutippen (nicht kopieren). Vielleicht hast du schon im Script irgendwelche komischen (nicht angezeigten) Zeichen drin, z. B. ein versehentlich kopiertes BOM oder so.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Geändert von AmicaNoctis (11-12-2009 um 08:24 Uhr)
@Amica: Der Quellcode im Browser sieht folgendermaßen aus, wenn ich Ihne mir ausgeben lasse:
PHP-Code:
<?xml version="1.0" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Login</title>
Da steht auch nichts davor! Eintippen hab ich versucht, ändert nichts. Schau mir das jetzt nochmal mit nem Hex Editor an. Kleinen Moment.
mfg streuner
__________________
Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.
"Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"
__________________
Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.
"Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"
das sind ja gleich 2 UTF-8-BOMs Also wie gesagt: löschen und neu eintippen.
Edit: Du sagst, du hättest das schon gemacht? Dann kommt es doch aus der Funktion, aber da hast du ja den Hexcode gepostet und da war es nicht drin. Es muss direkt im Script sein, gleich nach <title>. Du kannst ja das Script selbst auch mal im Hexeditor ansehen.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Geändert von AmicaNoctis (11-12-2009 um 09:03 Uhr)
das sind ja gleich 2 UTF-8-BOMs
Also wie gesagt: löschen und neu eintippen.
Hm...entweder verstehe ich Dich falsch, oder es funktioniert einfach nicht!
Ich lösche die Title Zeile und tippe den Code nochmal neu ein*grübel*!
Ergebnis ist dasselbe. Hm, wieso sind das 2 UTF-8 BOMs? Also die *.php Files
sind alle nach UTF-8 mit Notepad++ konvertiert.
Zitat:
Zitat von AmicaNoctis
Edit: Du sagst, du hättest das schon gemacht?
Dann kommt es doch aus der Funktion, aber da hast du ja den Hexcode gepostet
und da war es nicht drin. Es muss direkt im Script sein, gleich nach <title>.
Du kannst ja das Script selbst auch mal im Hexeditor ansehen.
Ja, komisch. Hatte irgendwie noch den Verdacht, dass über die Feldeigenschaften
der DB, es zu solchen Problemen kommt!
mfg streuner
P.S. Sehe gerade, dass ich anscheinend zuviele Zeichen je Zeile habe. Wirklich nettes
Skript, aber ist aber auch etwas umständlich, wenn man die Zeichen nicht angezeigt
bekommt, genau unter 100 zu bleiben:-)!
__________________
Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.
"Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"
Besser du nutzt in Notepad++ "ANSI as UTF-8" / "UTF-8 ohne BOM". Was sagt der Hexeditor zu dem Script? Kannst du das nochmal bitte so toll posten, nur diesmal halt nicht die Seite die rauskommt, sondern das Script?
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Siehe angehängt Grafik. Ok, "ANSI as UTF-8" probiere ich gleich nochmal aus, danke.
mfg streuner
P.S. Bezieht sich dein "@streuner: Bitte Code..." auf meinen ersten Beitrag noch? Wenn ja, nur auf den geposteten Quellcode, oder auch z.B. auf meine Signatur?
__________________
Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.
"Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"
Also kommt es doch aus der Funktion textholen. Evtl. auch direkt aus der DB. Ich will dir nichts unterstellen, aber mit dem Hex-Schnipsel hättest du dann eigentlich "ef bb bf ef bb bf 4c 6f 67 69 6e" bekommen müssen. Keine Ahnung.
Edit:
Zitat:
Zitat von streuner
P.S. Bezieht sich dein "@streuner: Bitte Code..." auf meinen ersten Beitrag noch? Wenn ja, nur auf den geposteten Quellcode, oder auch z.B. auf meine Signatur?
Die bezieht sich immer nur auf Codeabschnitte (also nicht auf deine Signatur). Um welche Beiträge es sich konkret handelt, bekommst du (außer im IE) mit Rechsklick->Grafik anzeigen raus.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Geändert von AmicaNoctis (11-12-2009 um 09:40 Uhr)
Also kommt es doch aus der Funktion textholen. Evtl. auch direkt aus der DB. Ich will dir nichts unterstellen, aber mit dem Hex-Schnipsel hättest du dann eigentlich "ef bb bf ef bb bf 4c 6f 67 69 6e" bekommen müssen. Keine Ahnung.
Ok, gut. Das ist ein Ansatz, wo ich dann nochmal nachschauen muss. Warum und was genau aus der DB kommt, muss ich nochmal genauer schauen. Danke, hast mir sehr geholfen!
Edit:
Zitat:
Zitat von AmicaNoctis
Die bezieht sich immer nur auf Codeabschnitte (also nicht auf deine Signatur). Um welche Beiträge es sich konkret handelt, bekommst du (außer im IE) mit Rechsklick->Grafik anzeigen raus.
Ok, thanx.
mfg streuner
__________________
Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.
"Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"
OffTopic:Es sind übrigens die DocType-Deklaration in den beiden Beiträgen mit HTML-Code, die zu lang sind
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
MariaDB 5.5 veröffentlicht Die freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.
Login-System und Kundenverwaltung, die sich spielend leicht in bestehende Webseiten einbauen lässt und einen enormen Funktionsumfang bietet.
Ihre eigene Webseite muss mit Advanced Login nicht umständlich an ein fertiges System angepasst werden.
Spezielles CMS für Betreiber von Ferienwohnungen. Komplette Seitenerstellung online, Verwaltung mehrerer Objekte, Reservierungssystem mit sofortigem Abgleich im Belegungskalender und vieles mehr bietet dieses Content Management System.