php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 27.12.2004, 17:53  
Gast
 
Beiträge: n/a
Standard HTML/PHP Kodierungsproblem

Hallo,

ich habe folgende Schwierigkeit:
erstelle gerade eine Seite mit der windows-1251 -Kodierung und bin auf ein interessantes Phänomen auf meinem localhost gestoßen:

der Text lässt sich wunderbar lesen, solange die Datei eine HTML - Endung hat!!! sobald ich sie in .PHP umbenenne wird der Text in der Wesrtern-kodierung dargestellt. Ich muß die Kodierung beim Browser also dann jedes Mal umstellen, damit damit nach der Aktualisierung der Datei das wieder beim Alten ist...

Kennt jemand das Problem? Weiß jemand ein Ausweg?
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 27.12.2004, 18:03  
Waq
Erfahrener Benutzer
 
Registriert seit: 15.08.2004
Beiträge: 2.473
Waq
Standard

Gibst Du per Meta-Tag den Zeichensatz an? Wenn nein, würde ich das tun.

PS: eine windows-1251-Kodierung hat im Internet nichts, aber auch wirklich gar nichts verloren. Such besser nen passenden iso-Zeichensatz.
__________________
mod = master of disaster
Waq ist offline  
Alt 27.12.2004, 18:13  
Gast
 
Beiträge: n/a
Standard

ja, das Meta Tag (<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">) gebe ich natürlich an. Es hat aber auf diesem Wege die letzten Jahre funktioniert Ich glaube es ist eine fehlerhafte Apache-Konfiguration, denn sobald ich die Datei umbenenne - funktioniert es. Oder weiß jemand einen anderen Grund?

Ich wäre sehr dankbar...

Waq, danke für den Tip, ich habe das eben mit "charset=utf-8" versucht und das Problem bleibt das Gleiche, er zeigt beidefault die Falsche odierung an
 
Alt 28.12.2004, 01:53  
Erfahrener Benutzer
 
Registriert seit: 26.09.2004
Beiträge: 430
toscho
Standard

Sieh erstens in der php.ini nach, welche Zeichenkodierung standardmäßig benutzt wird. Sende zweitens die Angaben zur Zeichenkodierung per HTTP-Header; <meta> ist eine Krücke, die nur ein paar kaputte Browser beim Abspeichern brauchen.
Beispiel:
Code:
header ("Content-Type: text/html;charset=utf-8");
Benutze drittens UTF-8, wenn du Formulare verwendest, sonst bekommst du große Schwierigkeiten, sobald jemand ein Zeichen eingibt, das in deiner Kodierung nicht erlaubt ist.

Windows-1252 hätte ich ja noch verstanden – aber was willst du mit Windows-1251?

Gruß
Thomas
toscho ist offline  
Alt 28.12.2004, 09:48  
Gast
 
Beiträge: n/a
Standard

Hallo toscho,

Windows 1251 ist kyrillisch, dArum geht es mir!

SUPER, vielen Dank, mit der php-Zeile im include hat es funktioniert!!

jetzt habe ich allerdings ein "erweitertes" Problem. Seit kurzem ist unser Provider umgezogen und auf dem neuen Server funktioniert weder html, noch php richtig. Nach der von Dir vorgeschlagenen Änderung werden nun alle php-Inhalte richtig angezeigt, html allerdings noch nicht.

Weißt Du vielleicht auch dafür noch Rat? Ist es die Apache-Konfiguration

Danke und Gruß
rumata
 
Alt 28.12.2004, 16:31  
Erfahrener Benutzer
 
Registriert seit: 26.09.2004
Beiträge: 430
toscho
Standard

Schreib in die ».htaccess«:
Code:
# Zeichenkodierung fuer HTML und CSS. Sollte konsistent sein.
AddType text/html;charset=windows-1251 .html
AddType text/css;charset=windows-1251 .css
Du kannst auch in UTF-8 kyrillisch schreiben (UTF-8 enthält alle in HTML erlaubten Zeichen). Was machst du, wenn jemand in dein Kontaktformular ein Zeichen schreibt, das in Windows-1251 nicht enthalten ist?

Gruß
Thomas
toscho ist offline  
Alt 28.12.2004, 16:39  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.235
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Genau aus solchen Gründen sollte man ausschliesslich UTF-8 nehmen und alle Sonderzeichen, sprachspezifischen Zeichen in entsprechenden HTML- konformen Inhalten ausgeben, beispielsweise &auml; für ä. Wer verläßt sich auf Zeichensätze, die irgendwelche Browser- Exoten u.U. schonmal gar nicht verstehen?
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist offline  
Alt 28.12.2004, 17:06  
Erfahrener Benutzer
 
Registriert seit: 26.09.2004
Beiträge: 430
toscho
Standard

Wenn man UTF-8 benutzt, braucht man eben keine Maskierung mehr. Das ist ja der Sinn einer Zeichenkodierung. Dann kann man ganz normal »ä, ü, €, №, ∰, ★, ☎« usw. schreiben. Eventuell bekommt man dann Probleme mit PHPs mangelhafter Unterstützung für Multibyte-Kodierungen, aber auch dafür gibt es Lösungen.
toscho ist offline  
Alt 28.12.2004, 17:25  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.235
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Ähhhm. Ja. Mein Beitrag macht so keinen Sinn
Trotzdem sollte man ebend die Maskierung verwenden, wenn man wirklich sicher gehen will (Denkt euch einfach das UTF-8 weg).
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist offline  
Alt 28.12.2004, 17:38  
Gast
 
Beiträge: n/a
Standard

Zitat:
Trotzdem sollte man ebend die Maskierung verwenden, wenn man wirklich sicher gehen will (Denkt euch einfach das UTF-8 weg).
Alle Clientvariablen sind böse. Wer sich darauf verläßt, ist selber schuld.
 
 


Themen-Optionen
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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
FPDF => FProblema bei HTML/PHP Ausgabe PHP Tipps 2006 3 14.03.2006 19:13
[Erledigt] Kodierungsproblem PHP-Fortgeschrittene 4 28.03.2005 16:14
[Erledigt] Kodierungsproblem bei xsl HTML, Usability und Barrierefreiheit 11 09.02.2005 15:17
[BlödeFrage:] aufrufen von html/php seiten mittels php PHP Tipps 2004 9 16.08.2004 15:58

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
fpdf kyrillisch, kontaktformular kyrillisch, php kodierungsprobleme, php windows-1251, fpdf charset, windows-1251 php, kontakt formular php kyrillisch, charset kontaktformular, php kodierungsproblem, http://www.php.de/php-tipps-2004-2/14852-html-php-kodierungsproblem.html, fpdf kyrillische zeichen, php kontaktformular kyrillisch, charset=windows-1251, kyrillisch html, apache web server kontaktformular auf utf8 umstellen, php kontaktformular utf8, codierung kyrillisch, windows-1251 tabelle in php, text/html; charset=windows-1251, php kontaktformular kyrilisch

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:50 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.