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 24-03-2008, 22:11
GELight
 Registrierter Benutzer
Links : Onlinestatus : GELight ist offline
Registriert seit: Sep 2004
Beiträge: 243
GELight ist zur Zeit noch ein unbeschriebenes Blatt
GELight eine Nachricht über ICQ schicken
Standard [PHP5] zeichen...

Hallo alle zusammen...

Ich arbeite nebenbei die ganze Zeit an einem kleinem System.
Hab bis jetzt ausschließlich lokal unter einem XAMPP - Windows gearbeitet ( safemode = on ) und bin jetzt an dem Punkt, wo ich das ganze mal auf verschiedenen PublicServern testen will, bevor ich weiter mache. Gleich beim ersten Server bekomm ich eigenartiger Weise diese komischen kryptischen Zeichen angezeigt... zusätzlich kommt es dadurch zu folgefehlern.



Lokal habe ich das ganze unter PHP5.x und MySQL 5.x geschrieben und es lief wunderbar.
Wodurch kann es zu diesen kryptischen Zeichen kommen?
Ich bin mir sicher, dass ich das schonmal gesehen habe aber weiß nicht, wo es aufgetaucht ist.

Hoffe ihr könnt mir helfen...

Mario
Mit Zitat antworten
  #2 (permalink)  
Alt 24-03-2008, 22:17
XGremliN
 PHP Senior
Links : Onlinestatus : XGremliN ist offline
Registriert seit: Sep 2003
Ort: Karl-Marx-Stadt
Beiträge: 1.900
XGremliN ist zur Zeit noch ein unbeschriebenes Blatt
Standard

du hast die datei mal mit nem editor geöffnet, der auf utf-8 lief, die datei ist aber als iso gespeichert. schau in die datei rein (notfalls hex) und lösche die zeichen am anfang
__________________
it's not a bug,
it's a feature!
Mit Zitat antworten
  #3 (permalink)  
Alt 24-03-2008, 22:25
GELight
 Registrierter Benutzer
Links : Onlinestatus : GELight ist offline
Registriert seit: Sep 2004
Beiträge: 243
GELight ist zur Zeit noch ein unbeschriebenes Blatt
GELight eine Nachricht über ICQ schicken
Standard [PHP5] charset

Ich habe allerdings über 300 Dateien und arbeite seit Monaten an verschiedensten Dateien. Als Editor nutze ich den "Notepad++".
Ich hab die Zeichen noch in keiner meiner Dateien gesehen.

Mario
Mit Zitat antworten
  #4 (permalink)  
Alt 24-03-2008, 22:54
SusanneW
 Newbie
Links : Onlinestatus : SusanneW ist offline
Registriert seit: Mar 2008
Beiträge: 22
SusanneW ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo

Vieleicht sind die PHP Versionen unterschiedlich.
Auf Local hast du 5 drauf und der Server hat vieleicht 4.x drauf.

Dann kann es zu komischen Sachen kommen.
Beispiel: timestamp hat bei php5: 19 Stellen, bei php 4.x: 14
So wirds bestimmt andere Sachen auch noch geben.

LG
Susanne
Mit Zitat antworten
  #5 (permalink)  
Alt 24-03-2008, 22:57
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard Re: [PHP5] charset

Zitat:
Ich habe allerdings über 300 Dateien und arbeite seit Monaten an verschiedensten Dateien. Als Editor nutze ich den "Notepad++".
Ich hab die Zeichen noch in keiner meiner Dateien gesehen.
Guck dir mal diesen Beitrag in meinem Blog an, vielleicht macht das einiges klarer!
Mit Zitat antworten
  #6 (permalink)  
Alt 24-03-2008, 23:04
GELight
 Registrierter Benutzer
Links : Onlinestatus : GELight ist offline
Registriert seit: Sep 2004
Beiträge: 243
GELight ist zur Zeit noch ein unbeschriebenes Blatt
GELight eine Nachricht über ICQ schicken
Standard [PHP5] Version

Eben genau das hab ich voher versucht zu berücksichtigen.
Auf dem Server, wo ich es gerade teste, ist [ PHP Version 5.2.5-0.dotdeb.2 ] installiert.
Insofern sollte das also keine Probleme machen.

[EDIT]
PHP-Desaster: Ich schau mir deinen Blog mal an. Hab nicht gesehen,d ass du zwischenzeitlich geschrieben hast.

Mario
Mit Zitat antworten
  #7 (permalink)  
Alt 24-03-2008, 23:16
GELight
 Registrierter Benutzer
Links : Onlinestatus : GELight ist offline
Registriert seit: Sep 2004
Beiträge: 243
GELight ist zur Zeit noch ein unbeschriebenes Blatt
GELight eine Nachricht über ICQ schicken
Standard [PHP5] UTF-8

Also wenn ich das jetzt richtig verstehe, dann sind sozusagen in all meinen Dateien die aller ersten zeichen diese UTF-8 BOM Zeichen oder? Und die sind dann nur durch meinen Editor "Notepad++" in die Datei eingefügt wurden oder?

Welchen Editor schlagt ihr denn so vor, was man nehmen sollte um sowas zu umgehen?

Mario

[EDIT]
Mir ist eben nochwas aufgefallen, was es sein kann.
Im Header meiner letztendlichen Datei, die im Browser erzeugt wird, habe ich immer ... <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> ... stehen. Der Browser schaltet jedoch dennoch in ISO-8859-1 um und somit kommt es auch dazu, dass er diese UTF-8 zeichenkette ausgibt. Mach ich was falsch?

Mario

Geändert von GELight (25-03-2008 um 00:18 Uhr)
Mit Zitat antworten
  #8 (permalink)  
Alt 25-03-2008, 00:24
tontechniker
 PHP Senior
Links : Onlinestatus : tontechniker ist offline
Registriert seit: Jul 2005
Beiträge: 1.972
tontechniker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Der UTF-8 Boom ist auch so da, ohne Angabe eines Charsets. Notepad++ bietet allerdings afaik eine Möglichkeit auch ohne Boom zu speichern. Geh mal die Optionen durch oder such einfach mal, wir hatten das Thema hier schon öfter.
__________________
Die Regeln | rtfm | register_globals | strings | SQL-Injections | []
Mit Zitat antworten
  #9 (permalink)  
Alt 25-03-2008, 15:31
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Der UTF-8 Boom ist auch so da, ohne Angabe eines Charsets. Notepad++ bietet allerdings afaik eine Möglichkeit auch ohne Boom zu speichern. Geh mal die Optionen durch oder such einfach mal, wir hatten das Thema hier schon öfter.
Format -> Kodiere in UTF-8 (ohne BOM)
Mit Zitat antworten
  #10 (permalink)  
Alt 25-03-2008, 20:36
GELight
 Registrierter Benutzer
Links : Onlinestatus : GELight ist offline
Registriert seit: Sep 2004
Beiträge: 243
GELight ist zur Zeit noch ein unbeschriebenes Blatt
GELight eine Nachricht über ICQ schicken
Standard [PHP5] UTF8

Also jetzt wirds total verdreht. Und der Browser springt dennoch nicht in UTF-8... Das hier ist mal meine kleine Testdatei...

PHP-Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
    <title>UTF-8 TEST</title>

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

</head>
<body>
    <?php
        
echo "ö ä ü ß Ö Ä Ü";
    
?>
</body>
</html>
Egal wie ich die Datei konvertiere oder kodiere. Der Browser ( FF ) bleibt in ISO-8859-1.... Den interessiert mein Header kein Ding.

Mario

Geändert von GELight (25-03-2008 um 20:40 Uhr)
Mit Zitat antworten
  #11 (permalink)  
Alt 25-03-2008, 22:20
tontechniker
 PHP Senior
Links : Onlinestatus : tontechniker ist offline
Registriert seit: Jul 2005
Beiträge: 1.972
tontechniker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Sende mal einen Content-Type Header.
__________________
Die Regeln | rtfm | register_globals | strings | SQL-Injections | []
Mit Zitat antworten
  #12 (permalink)  
Alt 25-03-2008, 22:31
GELight
 Registrierter Benutzer
Links : Onlinestatus : GELight ist offline
Registriert seit: Sep 2004
Beiträge: 243
GELight ist zur Zeit noch ein unbeschriebenes Blatt
GELight eine Nachricht über ICQ schicken
Standard [PHP5] header

Dann bringt er mir:


Warning: Cannot modify header information..........


Wenn ich meine Datei über den normalen EDITOR explizit als ANSI speichere, dann kommt zwar der Fehler nicht und er stellt alles korrekt dar aber eben als ISO... ich will den Browser aber in UTF-8 haben, da meine ganzen Klassen und auch die DB UTF-8 kodierte zeichen zurück und ausgeben...

Mein derzeitiger Testcode:
PHP-Code:
<?
   header
('Content-Type: text/html; charset=utf-8');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<head>
    <title>test</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

</head>
<body>
    <?php
        
echo "ö ä ü ß Ö Ä Ü";
    
?>
</body>
</html>
Mario
Mit Zitat antworten
  #13 (permalink)  
Alt 25-03-2008, 22:34
tontechniker
 PHP Senior
Links : Onlinestatus : tontechniker ist offline
Registriert seit: Jul 2005
Beiträge: 1.972
tontechniker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Vor dem Header dürfen keine weiteren Zeichen (auch keine Leerzeichen und kein Boom) stehen. Die Umlaute müssen dann natürlich in UTF-8 kodiert sein.
__________________
Die Regeln | rtfm | register_globals | strings | SQL-Injections | []
Mit Zitat antworten
  #14 (permalink)  
Alt 25-03-2008, 23:08
GELight
 Registrierter Benutzer
Links : Onlinestatus : GELight ist offline
Registriert seit: Sep 2004
Beiträge: 243
GELight ist zur Zeit noch ein unbeschriebenes Blatt
GELight eine Nachricht über ICQ schicken
Standard [PHP5] Umlaute

Das weiß ich.... ich gebe auch keinerlei zeichen vor dem Header aus.
Diese 3 Zeichen sind ja vom UTF-8 BOM....

Wenn ich meine Datei als ANSI speichere, dann sind zwar diese zeichen weg aber er schaltet in ISO und zeigt die Umlaute normal an.
Speichere ich als UTF8, dann schaltet der Browser zwar wie ich es möchte in UTF8 aber da jetzt diese UTF-8 BOM Zeichenkette in der Datei steht, wird diese nun als erstes ausgegeben und ich bekomme natürlich diesen Fehler.

Ich weiß nun nicht, wie ich arbeiten soll, damit ich mein System im UTF8 halten kann und dennoch die Dateien normal über einen "ordentlichen" Editor bearbeiten kann.

[EDIT]
Die Umlaute hier sind nur als Test, damit ich was sehe.
Mein System selbst gibt aus der DB wie auch meine Klassen, schon UTF-8 codierte Zeichen zurück....
Der Browser würde ja alles korrekt darstellen, wenn ich ihn dazu bringen könnte auch in UTF-8 zu schalten. Genau das ist ja mein Problem.

Ich weiß nun nicht, mit was für einem Editor ich am besten wie arbeiten muss und wie ich meine Dateien nun speichern muss, damit am Ende alles in UTF-8 verarbeitet wird ind er Ausgabe.

Mario

Geändert von GELight (25-03-2008 um 23:11 Uhr)
Mit Zitat antworten
  #15 (permalink)  
Alt 26-03-2008, 01:09
tontechniker
 PHP Senior
Links : Onlinestatus : tontechniker ist offline
Registriert seit: Jul 2005
Beiträge: 1.972
tontechniker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Notepad++ -> Format -> Kodiere in UTF-8 (ohne BOM)
__________________
Die Regeln | rtfm | register_globals | strings | SQL-Injections | []
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

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 05:43 Uhr.