Willkommen im TP-Hilfe-Forum! Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst.
Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team.
Guten Tag Dynamiker,
der Threadtitle sagt wenig aus, da man das schlecht in wenigen Wörtern unter einen Hut packen kann Problem 1:
Ich benutze für die Codierungvon Umlauten folgenden Code:
HTML-Code:
<?xml version="1.0" encoding="UTF-8"?>
Wenn ich deisen COdeschnipsel in eine PHP-Seite einbaue, dann bringt er mir ein Fehler (durch <? nehm ich mal an).
Diesen Code brauche ich aber, damit die Umalute in meinem Gästebuch codiert werden.. Gibts da ne Lösung?
Problem2:
Bei meinem Gästebuch kommt beim Abschicken des Formulars zu einem Fehler in Linie 48:
Linie 48 ist bei mir bei $alteintrag..Warum kommt da eine Fehlermldung? habe den Code schon öfter verwendet und klappen tut es trotzdem, jedoch nervt diese Fehlermldung
Wäre für jede Hilfe dankbar
Wenn ich deisen COdeschnipsel in eine PHP-Seite einbaue, dann bringt er mir ein Fehler (durch <? nehm ich mal an).
Diesen Code brauche ich aber, damit die Umalute in meinem Gästebuch codiert werden.. Gibts da ne Lösung?
In der php.ini die dämlichen open Short Tags deaktivieren^^. Dann funktioniert nämlich nur noch <?php ?>! Somit macht <?wasuachimmer ?> keine Schwierigkeiten mehr!
Zitat:
Linie 48 ist bei mir bei $alteintrag..Warum kommt da eine Fehlermldung? habe den Code schon öfter verwendet und klappen tut es trotzdem, jedoch nervt diese Fehlermldung
Wäre für jede Hilfe dankbar
Der Code ist uneffektiv, aber einen Fehler sollte er dort nicht schmeißen dürfen. Welcher kommt denn?
Btw.: Ich würde mal testen, ob es nicht schneller ist, fwrite(); nur einmal aufzurufen, anstatt zweimal. Außerdem halte ich es für eine Verschwendung von Speicherplatz, da jedesmal den ganzen HTML Kram mit reinzuspeichern. Des weiteren ist es nicht all zu effektiv, jedes mal, wenn du einen neuen Eintrag haben möchtest, die ganze Datei neu auszulesen und in einer Variable zwischen zu speichern.
__________________ Zwei Dinge sind Unbestreitbar:
In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
Die Erde ist eine Scheibe!
Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!
Geändert von Dennis The Menace (30.01.2005 um 19:28 Uhr).
und falss dein hoster keinen zugriff auf die php.ini zulaesst:
Code:
<? echo '<?xml ... ?>'; ?>
__________________
in eile kam er,
in schwarzem gewand,
aus den tiefen des waldes,
ein einsamer mann, ein geschoepf der freiheit,
ein geschoepf ohne furcht,
doch alle nannten sie ihn nur T O D
Du kannst mit der Funktion ini_set(); via PHP lokal einige Einstellungen umändern, wenn du keinen Root Zugriff auf dem Server hast. http://php.net/ini_set . Der Lösungsvorschlag von HoRnominatoR funktioniert natürlich auch, könnte nur irgendwann umständich werden (meine Meinung).
Wenn du Root Zugriff hast, befindet sie sich entweder (auf einen ordentlich konfigurierten System) unter Windows im Windowsverzeichnis, alternativ kann sie im php Verzeichnis liegen, alternativ kann sie (dank Regestry) eigentlich überall liegen! Unter Linux auch irgendwo auf der Festplatte
Zitat:
Wie könnte ich das am Besten machen? Habe da noch nicht so viel Ahnung von
In der Annahme, dass du keine MySQL Datenbank verwenden möchtest/kannst, würde ich nur die Daten (ohne HTML) in einer stumpfen Datei untereinander schreiben lassen. Das ginge mir fopen( $trallala, 'a'); Dann musst du nicht jedesmal die ganze Datei auslesen.
Stellt sich natürlich die Frage, in welcher Reihenfolge du das ganze wieder auslesen möchtest.
__________________ Zwei Dinge sind Unbestreitbar:
In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
Die Erde ist eine Scheibe!
Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!
Geändert von Dennis The Menace (30.01.2005 um 20:01 Uhr).
Danke Dennis,
das mit dem php.ini verstehe ich irgendwie nicht :Hab auch mal Google angeschmissen, aber wie man das genau macht, hab ich nicht herausgefunden
=> Habs mi der Lösung von Horno versucht, jedoch will das irgendwie mit der Codierung nicht klappen
was will nicht klappen? bei xml noch zusaetzlich utf-8 anzugeben ist nicht noetig, xml hat als standard zeichensatz utf-8.
__________________
in eile kam er,
in schwarzem gewand,
aus den tiefen des waldes,
ein einsamer mann, ein geschoepf der freiheit,
ein geschoepf ohne furcht,
doch alle nannten sie ihn nur T O D
Die php.ini ist eine Datei, wo die Einstellungen von PHP gespeichert werden.
Dort findest du folgendes:
Zitat:
; Allow the <? tag. Otherwise, only <?php and <script> tags are recognized.
; NOTE: Using short tags should be avoided when developing applications or
; libraries that are meant for redistribution, or deployment on PHP
; servers which are not under your control, because short tags may not
; be supported on the target server. For portable, redistributable code,
; be sure not to use short tags. short_open_tag = On
Wenn du aus diesem letzten On ein Off machst, klappt es bei dir
Dafür musst du jedoch Zugriff auf diese Datei haben. Die hast du nur dann,
wenn du einen eigenen Server hast.
Wenn dies nicht der Fall ist, kannst du die php Funktion ini_Set(); verwenden.
PHP-Code:
ini_set( "short_open_tag", 0 );
Wenn du das gaaaaaaanz nach oben schreibst, wird der PHP Parser auf <? nicht mehr reagieren, sondern nur noch auf [color=red[<?php[/color]. Notfalls, gib mal den Code, den du von HoRnominatoR Idee aus erstellt hast!
Warum es bei dir immer noch nicht klappt mit dem eigentlichen Problem (den Umlauten) ist, dass der Ursprungstext gar nicht erst UFT-8 ist und irgendwie keinem EncodingStandart entspricht!
__________________ Zwei Dinge sind Unbestreitbar:
In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
Die Erde ist eine Scheibe!
Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!
Geändert von Dennis The Menace (30.01.2005 um 21:07 Uhr).
Warum es bei dir immer noch nicht klappt mit dem eigentlichen Problem (den Umlauten) ist, dass der Ursprungstext gar nicht erst UFT-8 ist und irgendwie keinem EncodingStandart entspricht!
Mh..Wie kann ich das Problem dann beheben? Bei anderen GBooks ging es bisher auch, jedoch wurde dort HTML 4.01 Transitional verwendet und die Codierung erfolgte durch ein Meta-Tag. Jedoch klappen auch die nicht:
__________________
in eile kam er,
in schwarzem gewand,
aus den tiefen des waldes,
ein einsamer mann, ein geschoepf der freiheit,
ein geschoepf ohne furcht,
doch alle nannten sie ihn nur T O D
Er will damit sagen, dass du in deinem Dokument zwei Kodierungen verwendest. UFT-8 und ISO 8859-1 (sollte eigentlich 7/15 sein^^)
Der Server frecherweise erkennt (ah, da ist ISO 8859-1, also sende ich das in den Kopfdaten mit). Ein Mensch, der einen Browser programmiert, denkt in der Regel, dass Menschen, die Webseiten schreiben, oftmals nicht wirklich wissen, was sie da tun. Ein Mensch, der einen Browser programmiert, denkt in der Regel, dass Menschen, die einen Webserver programmieren, oftmals genau wissen, was sie da tun.
In anderen Worten: Die Browser sind so eingestellt, dass sie dem Server glauben, und nicht dem Webdesigner, wenn der Server eine encodierung mitsendet (Was er eigenltich immer tut)
Daher wird deine mitgesendete UFT-8 codierung Schlichtweg ignoriert^^
Bei einem guten Browser; also so einen, wie Opera oder Firefox; kann man mit Leichtigkeit den Modus Sowohl Menschen, die Webserver programmieren, als auch Menschen, die Internetseiten schreiben, wissen nicht, was sie tun aktivieren. Man kann also unter (in Opera im Menü View / Encoding | in Firefox im Menü unter View / Character Encoding) einstellen, welche Encodierung er benutzen soll, unabhängig davon, was der Server oder der Webmaster für ein Encoding gesendet hat.
Wenn du dort also UFT-8 auswählst, wirst du sehen, dass er die Umlaute anzeigt. Aber du wirst auch sehen, was eigentlich den ganzen Schlamassel verursacht:
Siehe rot markierten Dinger, die eben nicht UFT-8 encodiert sind sondern ISO-8895-1
__________________ Zwei Dinge sind Unbestreitbar:
In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
Die Erde ist eine Scheibe!
Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!
also gibst du entweder iso in deiner datei an, oder sagst dem server, er soll HTMLdateien mit einem utf-header ausgeben
htaccess
Code:
AddCharset utf-8 .html
ist wohl selbsterklaerend.
post scriptum: wie gesagt, dann kannst du das charset in der datei auch gleich weglassen, da xml standardmaessig als utf-8 ausgeliefert wird.
__________________
in eile kam er,
in schwarzem gewand,
aus den tiefen des waldes,
ein einsamer mann, ein geschoepf der freiheit,
ein geschoepf ohne furcht,
doch alle nannten sie ihn nur T O D
Geändert von HoRnominatoR (30.01.2005 um 23:22 Uhr).