php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier 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! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 05-02-2008, 16:19
Seikilos
 Registrierter Benutzer
Links : Onlinestatus : Seikilos ist offline
Registriert seit: May 2003
Ort: Vor meinem Computer
Beiträge: 498
Seikilos ist zur Zeit noch ein unbeschriebenes Blatt
Standard Seite utf-8 kodiert, welches Vorgehen?

Ich hab ein kleines Problem, eine Seite ist vollständig UTF-8 kodiert.

Dort habe ich ein Eingabeformular, Beispiel Login.
Dieser Name wird in ein Cookie gespeichert und beim nächsten Besuch wieder angezeigt.

Das Problem ist aber, dass ich ja die Ausgabe der Seite utf-8 kodiere, grob gesagt am ende ist ein echo utf8_encode($content); welcher mir alles schön kodiert.

Aber damit habe ich dann ja Probleme, denn der Login, den ich im Cookie gespeichert habe, ist ja utf-8 kodiert und wird auf der Seite irgendwo angezeigt, "Willkommen {name}".
Wenn ich nun meinen String mit dem Cookie Wert fülle, so bekomme ich ja murks bei der Ausgabe, weil ich an dieser Stelle utf-8 nochmal mit utf-8 kodiere.

Wie sollte man da vorgehen? Zum Beispiel habe ich keinerlei Probleme mit der mysql Verbindung, die Tabelle ist UTF-8 und die Client-Verbindung auch, ich kann dort also ohne Probleme den utf-8 kodierten Login namen ins query packen und es klappt auch mit umlauten

Aber was machen, bei dem oben beschriebenen Problem?
Mit Zitat antworten
  #2 (permalink)  
Alt 05-02-2008, 16:22
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Das Problem ist aber, dass ich ja die Ausgabe der Seite utf-8 kodiere, grob gesagt am ende ist ein echo utf8_encode($content); welcher mir alles schön kodiert.
das sollte im Normalfall gar nicht nötig sein, wenn du die Daten entsprechend vorhältst.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3 (permalink)  
Alt 05-02-2008, 16:29
Seikilos
 Registrierter Benutzer
Links : Onlinestatus : Seikilos ist offline
Registriert seit: May 2003
Ort: Vor meinem Computer
Beiträge: 498
Seikilos ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Teilkomponenten der Struktur, also Templates kommen nicht von mir und sind oft falsch kodiert, daher das kodieren am Ende.

Du meinst ich sollte die Kodierung nur auf einzelne Teile anwenden?

Wie sieht denn dann so etwas aus
PHP-Code:
<?php
$var 
"öäüß";

header("Content-type: text/html; charset=UTF-8");
echo 
$var;
?>
Würde dies nicht falsch interpretiert werden? Oder wäre $var automatisch dann utf-8?

In dem Zusammenhang hatte ich, meine ich, das Problem, dass meine wirklichen Kodierung in dem obigen Fall ISO war, der Header aber abweichend den Content Type als utf-8 deklariert hat
Mit Zitat antworten
  #4 (permalink)  
Alt 05-02-2008, 16:33
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Teilkomponenten der Struktur, also Templates kommen nicht von mir und sind oft falsch kodiert, daher das kodieren am Ende.

Du meinst ich sollte die Kodierung nur auf einzelne Teile anwenden?
Nee, ich meine dass du alle Teile schon vorher entsprechend encodet haben sollst.
Also gerade bei so lächerlichen Sachen wie Templates muss das einfach möglich sein. Ich könnte maximal nachvollziehen, wenn du nen externen Webservice abfragst, dass du da noch was on the fly kodieren musst. Aber doch nicht bei Bestandsdaten deines EIGENEN Systems.

Zitat:
Würde dies nicht falsch interpretiert werden? Oder wäre $var automatisch dann utf-8?
Kommt drauf an, als was du deine Datei speicherst...

Zitat:
In dem Zusammenhang hatte ich, meine ich, das Problem, dass meine wirklichen Kodierung in dem obigen Fall ISO war, der Header aber abweichend den Content Type als utf-8 deklariert hat
Du kennst doch dein Problem, warum überarbeitest du nicht einfach deine Fehler und freust dich über nen sauberes System, anstatt hier jeden einzelnen bestandteil deiner Anwendung so umzukodieren, wie du ihn aktuell brauchst? Oder willst du bei der nächsten Änderung deines Designers wieder die komplette Software anpassen?
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!

Geändert von TobiaZ (05-02-2008 um 16:38 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 05-02-2008, 16:53
Seikilos
 Registrierter Benutzer
Links : Onlinestatus : Seikilos ist offline
Registriert seit: May 2003
Ort: Vor meinem Computer
Beiträge: 498
Seikilos ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Sind zwei paar Schuhe, beim Beispiel oben meinte ich dies als Ausgabe an den Browser, erkennt er da dass die $var utf8 ist?

Und ich kann das System nicht umschreiben, ich habe es nicht entwickelt und es gibt keine Ressourcen für ein komplettes Refactoring, ich wühle quasi in Resten hier
Mit Zitat antworten
  #6 (permalink)  
Alt 05-02-2008, 17:09
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Sind zwei paar Schuhe, beim Beispiel oben meinte ich dies als Ausgabe an den Browser, erkennt er da dass die $var utf8 ist?
Wenn die Variable utf8 ist und dem browser der entsprechende header/meta-tag gezeigt wird: na klar.
Wie gesagt, wenn du die datei nicht als utf-8 speicherst, wird der natürlich mucken.

Beides eigentlich logisch!

Zitat:
Und ich kann das System nicht umschreiben, ich habe es nicht entwickelt und es gibt keine Ressourcen für ein komplettes Refactoring, ich wühle quasi in Resten hier
Viel Spaß! Jetzt weißt du ja, wo deine Probleme liegen. Warum tauchen die eigentlich erst jetzt auf?
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #7 (permalink)  
Alt 05-02-2008, 17:18
Seikilos
 Registrierter Benutzer
Links : Onlinestatus : Seikilos ist offline
Registriert seit: May 2003
Ort: Vor meinem Computer
Beiträge: 498
Seikilos ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Wenn die Variable utf8
Was heißt das? Wann ist eine Variable utf8?

Die PHP Datei ist natürlich als UTF-8 gespeichert, aber die $var ist einfach als $var = "öäüß"; deklariert


Zitat:
Warum tauchen die eigentlich erst jetzt auf?
Das weiß ich nicht, das System ist hier seit einem Jahr stabil und auf einmal tritt dieses Fehler auf, obwohl mir nicht klar ist, was passiert ist, denn eigentlich war niemand am code dran
Mit Zitat antworten
  #8 (permalink)  
Alt 05-02-2008, 17:24
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Was heißt das? Wann ist eine Variable utf8?
Die PHP Datei ist natürlich als UTF-8 gespeichert, aber die $var ist einfach als $var = "öäüß"; deklariert
Ja, dann ist alles so wie es sein soll. Also wird die Variable auch korrekt ausgegeben.

Zitat:
Das weiß ich nicht, das System ist hier seit einem Jahr stabil und auf einmal tritt dieses Fehler auf, obwohl mir nicht klar ist, was passiert ist, denn eigentlich war niemand am code dran
Ja, das ist immer so.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #9 (permalink)  
Alt 05-02-2008, 17:35
bla$ter
 Newbie
Links : Onlinestatus : bla$ter ist offline
Registriert seit: Oct 2003
Beiträge: 84
bla$ter ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Seikilos
Und ich kann das System nicht umschreiben, ich habe es nicht entwickelt und es gibt keine Ressourcen für ein komplettes Refactoring, ich wühle quasi in Resten hier [/B]
Du sollst auch nicht das System umschreiben, du sollst einfach nur deine Templates UTF-8 kodieren.

Ist nen typischer Fall für

Code:
find . -name '*.tpl' -exec recode latin1..u8 {} \;
Mit Zitat antworten
  #10 (permalink)  
Alt 05-02-2008, 17:37
Seikilos
 Registrierter Benutzer
Links : Onlinestatus : Seikilos ist offline
Registriert seit: May 2003
Ort: Vor meinem Computer
Beiträge: 498
Seikilos ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Kann man eigentlich die kodierung eines String irgendwie ermitteln? Das wäre wenigstens eine "erste Hilfe" für das Problem.
Mit Zitat antworten
  #11 (permalink)  
Alt 05-02-2008, 17:40
bla$ter
 Newbie
Links : Onlinestatus : bla$ter ist offline
Registriert seit: Oct 2003
Beiträge: 84
bla$ter ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Seikilos
Kann man eigentlich die kodierung eines String irgendwie ermitteln? Das wäre wenigstens eine "erste Hilfe" für das Problem.
Ja, mit http://de2.php.net/manual/en/functio...t-encoding.php
Mit Zitat antworten
  #12 (permalink)  
Alt 05-02-2008, 17:44
Seikilos
 Registrierter Benutzer
Links : Onlinestatus : Seikilos ist offline
Registriert seit: May 2003
Ort: Vor meinem Computer
Beiträge: 498
Seikilos ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Oh, großartig, das rettet mir erstmal den Rest des Tages

Danke euch beiden.

Hab ne Menge lernen können
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 04:25 Uhr.