Fahrtenbuch genial!
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 30.01.2005, 18:55   #1
TP-Moderator
 
Benutzerbild von hero-master
 
Registriert seit: Mar 2003
Ort: Hamburg
hero-master ist ein richtiges Arbeitstier - DANKEhero-master ist ein richtiges Arbeitstier - DANKEhero-master ist ein richtiges Arbeitstier - DANKEhero-master ist ein richtiges Arbeitstier - DANKEhero-master ist ein richtiges Arbeitstier - DANKEhero-master ist ein richtiges Arbeitstier - DANKE

[PHP]Umlautfehler bei XHTML + noch ein Fehler


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:
PHP-Code:
$daten "<h2>Eintrag von <a href=\"$homepage\">$name</a>, Email: $email</h2>
<p class=\"eintrag\">$eintrag</p>"
;
$datenbank "daten.dat"
$altdat fopen($datenbank,"r"); 
$alteintrag fread($altdatfilesize ($datenbank)); 
fclose($altdat); 
$datei fopen($datenbank,"w"); 
fwrite($datei$daten); 
fwrite($datei$alteintrag); 
fclose($datei); 
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
__________________
Grüße Nico

Meine kleinen CSS-Tutorials
hero-master ist offline   Mit Zitat antworten


Alt 30.01.2005, 19:21   #2
TP-Specialist
 
Benutzerbild von Dennis The Menace
 
Registriert seit: Nov 2004
Ort: Ich komme aus dem Zauberwald
Dennis The Menace bringt sich richtig einDennis The Menace bringt sich richtig ein
Zitat:
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?

Mach aus dem ganzen Schwachsinn hier:
Zitat:
$altdat = fopen($datenbank,"r");
$alteintrag = fread($altdat, filesize ($datenbank));
fclose($altdat);
einfach:

PHP-Code:
$alteintrag file_get_contents$datenbank ); 
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).
Dennis The Menace ist offline   Mit Zitat antworten
Alt 30.01.2005, 19:34   #3
TP-Insider
 
Benutzerbild von HoRnominatoR
 
Registriert seit: Dec 2003
Ort: nienburg (raum hannover)
HoRnominatoR ist auf einem guten Weg
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
HoRnominatoR ist offline   Mit Zitat antworten
Alt 30.01.2005, 19:38   #4
TP-Moderator
 
Benutzerbild von hero-master
 
Registriert seit: Mar 2003
Ort: Hamburg
hero-master ist ein richtiges Arbeitstier - DANKEhero-master ist ein richtiges Arbeitstier - DANKEhero-master ist ein richtiges Arbeitstier - DANKEhero-master ist ein richtiges Arbeitstier - DANKEhero-master ist ein richtiges Arbeitstier - DANKEhero-master ist ein richtiges Arbeitstier - DANKE
Dank dir Menace
Durch die "Kürzung" ist der fehler behoben
Zu der Geschichte mit den Umlauten: Wo finde ich die Datei php.ini, oder wie geht das?

Zu dem Dritten Tipp von dir:
Wie könnte ich das am Besten machen? Habe da noch nicht so viel Ahnung von

Vielen lieben Dank schonma

PS: @horno danke, werde ich dann benutzen wenn das mit dem php.ini nicht klappen sollte
__________________
Grüße Nico

Meine kleinen CSS-Tutorials
hero-master ist offline   Mit Zitat antworten
Alt 30.01.2005, 19:55   #5
TP-Specialist
 
Benutzerbild von Dennis The Menace
 
Registriert seit: Nov 2004
Ort: Ich komme aus dem Zauberwald
Dennis The Menace bringt sich richtig einDennis The Menace bringt sich richtig ein
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).
Dennis The Menace ist offline   Mit Zitat antworten
Alt 30.01.2005, 20:45   #6
TP-Moderator
 
Benutzerbild von hero-master
 
Registriert seit: Mar 2003
Ort: Hamburg
hero-master ist ein richtiges Arbeitstier - DANKEhero-master ist ein richtiges Arbeitstier - DANKEhero-master ist ein richtiges Arbeitstier - DANKEhero-master ist ein richtiges Arbeitstier - DANKEhero-master ist ein richtiges Arbeitstier - DANKEhero-master ist ein richtiges Arbeitstier - DANKE
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
__________________
Grüße Nico

Meine kleinen CSS-Tutorials
hero-master ist offline   Mit Zitat antworten
Alt 30.01.2005, 20:51   #7
TP-Insider
 
Benutzerbild von HoRnominatoR
 
Registriert seit: Dec 2003
Ort: nienburg (raum hannover)
HoRnominatoR ist auf einem guten Weg
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
HoRnominatoR ist offline   Mit Zitat antworten
Alt 30.01.2005, 20:52   #8
TP-Moderator
 
Benutzerbild von hero-master
 
Registriert seit: Mar 2003
Ort: Hamburg
hero-master ist ein richtiges Arbeitstier - DANKEhero-master ist ein richtiges Arbeitstier - DANKEhero-master ist ein richtiges Arbeitstier - DANKEhero-master ist ein richtiges Arbeitstier - DANKEhero-master ist ein richtiges Arbeitstier - DANKEhero-master ist ein richtiges Arbeitstier - DANKE
Zitat:
Zitat von HoRnominatoR
was will nicht klappen?
http://www.nicogutmann.de/gaestebuch.php
Warum werden die Umlaute nicht codiert?
__________________
Grüße Nico

Meine kleinen CSS-Tutorials
hero-master ist offline   Mit Zitat antworten
Alt 30.01.2005, 20:56   #9
TP-Specialist
 
Benutzerbild von Dennis The Menace
 
Registriert seit: Nov 2004
Ort: Ich komme aus dem Zauberwald
Dennis The Menace bringt sich richtig einDennis The Menace bringt sich richtig ein
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"); 
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).
Dennis The Menace ist offline   Mit Zitat antworten
Alt 30.01.2005, 21:31   #10
TP-Moderator
 
Benutzerbild von hero-master
 
Registriert seit: Mar 2003
Ort: Hamburg
hero-master ist ein richtiges Arbeitstier - DANKEhero-master ist ein richtiges Arbeitstier - DANKEhero-master ist ein richtiges Arbeitstier - DANKEhero-master ist ein richtiges Arbeitstier - DANKEhero-master ist ein richtiges Arbeitstier - DANKEhero-master ist ein richtiges Arbeitstier - DANKE
Das mit dem php.ini ist nun verständlich, danke
Zitat:
Zitat von Dennis The Menace
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:
Code:
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
Code:
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
__________________
Grüße Nico

Meine kleinen CSS-Tutorials
hero-master ist offline   Mit Zitat antworten
Alt 30.01.2005, 21:47   #11
TP-Insider
 
Benutzerbild von HoRnominatoR
 
Registriert seit: Dec 2003
Ort: nienburg (raum hannover)
HoRnominatoR ist auf einem guten Weg
http://validator.w3.org/check?uri=ht...ebuch.php&ss=1
__________________
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
HoRnominatoR ist offline   Mit Zitat antworten
Alt 30.01.2005, 22:48   #12
TP-Specialist
 
Benutzerbild von Dennis The Menace
 
Registriert seit: Nov 2004
Ort: Ich komme aus dem Zauberwald
Dennis The Menace bringt sich richtig einDennis The Menace bringt sich richtig ein
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
Miniaturansicht angehängter Grafiken
php-umlautfehler-xhtml-noch-fehler-hmqa.gif  
__________________
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^^!
Dennis The Menace ist offline   Mit Zitat antworten
Alt 30.01.2005, 23:18   #13
TP-Insider
 
Benutzerbild von HoRnominatoR
 
Registriert seit: Dec 2003
Ort: nienburg (raum hannover)
HoRnominatoR ist auf einem guten Weg
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).
HoRnominatoR ist offline   Mit Zitat antworten
Alt 31.01.2005, 14:53   #14
TP-Moderator
 
Benutzerbild von hero-master
 
Registriert seit: Mar 2003
Ort: Hamburg
hero-master ist ein richtiges Arbeitstier - DANKEhero-master ist ein richtiges Arbeitstier - DANKEhero-master ist ein richtiges Arbeitstier - DANKEhero-master ist ein richtiges Arbeitstier - DANKEhero-master ist ein richtiges Arbeitstier - DANKEhero-master ist ein richtiges Arbeitstier - DANKE
So, vielen lieben Dank, jetzt klappt das Ganze
__________________
Grüße Nico

Meine kleinen CSS-Tutorials
hero-master ist offline   Mit Zitat antworten
Alt 31.01.2005, 17:06   #15
TP-Moderator
 
Benutzerbild von hero-master
 
Registriert seit: Mar 2003
Ort: Hamburg
hero-master ist ein richtiges Arbeitstier - DANKEhero-master ist ein richtiges Arbeitstier - DANKEhero-master ist ein richtiges Arbeitstier - DANKEhero-master ist ein richtiges Arbeitstier - DANKEhero-master ist ein richtiges Arbeitstier - DANKEhero-master ist ein richtiges Arbeitstier - DANKE
Rückzug:
Irgendwie klappt es, wenn ich Umlaute schreibe, siehe:
http://nicogutmann.de/gaestebuch.php

Habe das mit dem Iso eingefügt und noch das hier:
PHP-Code:
<?php
header
("Content-Type: text/html; charset=utf-8");
?>
__________________
Grüße Nico

Meine kleinen CSS-Tutorials
hero-master ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
[PHP]Umlautfehler bei XHTML + noch ein Fehler [PHP]Umlautfehler bei XHTML + noch ein Fehler
« PHP-Kontaktformular mit txt-Mailvorlage? | Fehlermeldung - by connect ! »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu