<?xml version="1.0" encoding="utf-8"?>
		<feed xmlns="http://www.w3.org/2005/Atom">
		  <title type="text">Webmatze's Webmaster Forum - Browser, MySQL, PHP und die Zeichensätze</title>
		  <updated>2010-09-09T02:02:16+02:00</updated>
		  <id>http://forum.webmatze.de/</id>
		  <link rel="alternate" type="text/html" hreflang="en" href="http://forum.webmatze.de/discussion/?DiscussionID=927"/>
		  <link rel="self" type="application/atom+xml" href="http://forum.webmatze.de/discussion/?DiscussionID=927&amp;Feed=Atom"/>
		  <generator uri="http://getvanilla.com/" version="1.1.8">
			 Lussumo Vanilla
		  </generator>
		  <entry>
		<title>Browser, MySQL, PHP und die Zeichensätze</title>
		<link rel="alternate" href="http://forum.webmatze.de/discussion/927/?Focus=6548#Comment_6548" type="application/xhtml+xml" hreflang="en"/>
		<id>http://forum.webmatze.de/discussion/927/?Focus=6548#Comment_6548</id>
		<published>2009-01-21T19:23:58+01:00</published>
		<updated>2009-01-21T19:24:39+01:00</updated>
		<author>
			<name>iheliel</name>
			<uri>http://forum.webmatze.de/account/436/</uri>
		</author>
		<summary type="text" xml:lang="en">
			Hallo,

lang ist es her... und nun bin ich wieder da, mit einer neuen Frage die mich quält.
Diesmal geht es um das Thema Zeichensätze; Im Streit liegen hierbei die drei großen Parteien Browser, ...
		</summary>
		<content type="html">
			<![CDATA[Hallo,<br /><br />lang ist es her... und nun bin ich wieder da, mit einer neuen Frage die mich quält.<br />Diesmal geht es um das Thema Zeichensätze; Im Streit liegen hierbei die drei großen Parteien Browser, PHP und MySQL.<br />Ich will nun wissen wem von den Dreien ich vertrauen kann, und welcher mich ärgert, sprich: Wer hat Schuld das die Zeichen nicht ordenlich dagestellt werden?<br /><br />BROWSER:<br />Ich habe ein Gästebuch gebastelt. Das Gästebuch ist mit überlicherweise (X)HTML erstellt.<br />Dem zu Folge gibt es auch die Metatags:<br /><code><br />&lt;meta http-equiv="content-type" content="text/html; charset=UTF-8"/><br />&lt;meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8"/><br /></code><br />Der Browser (Firefox3) switcht auch wunderbar in die Zeichenkodierung utf-8. <br />Zusätzlich ist im form-Tag das accept-charset="utf-8" vermerkt.<br /><br />Eine Sache habe ich bemerkt: Switche ich in einen Zeichensatz des Typs ISO-8859<br />werden die vorher falsch angezeigten Daten richtig angezeigt. Jedoch sollten die Daten in der MySQL Tabelle den Zeichensatz utf-8 zugrunde liegen haben, da:<br /><br />MYSQL:<br />Der Tabelle, in welcher die Gästebucheinträge geführt werden habe ich die Kollation utf8_general_ci zugewiesen.<br />Ich weiß das eine Kollation kein Zeichensatz ist, sondern mehr mit der Sortierung der Daten zutun hat.<br />Allerdings setzt eine Kollation einen Zeichensatz voraus; bei dem es sich bei diesem Namen her eigentlich um utf8 handeln sollte.<br />Ich habe nichts an der Konfiguration von MySQL verändert. Es ist jenes MySQL welches Bestandteil des XAMPP 1.7(Linux) ist.<br />Da man aber viele unterschiedliche Kollationen und damit auch mehrere Zeichensätze auswählen kann, sollte doch die MySQL eigene Konfiguration hier keine Rolle spielen, oder? Ich meine MySQL ist doch eigentlich dafür da, Daten mit unterschiedlichsten Eigenschaften wie etwa  Zeichensätze zu verwalten-<br /><br />Trage ich über phpMyAdmin Umlaute in die Tabelle ein, werden diese auch korrekt wieder ausgegeben. Demnach kann phpMyAdmin also genau das, was auch meine Gästebuch beherrschen soll.<br /><br />PHP<br />Mit PHP lese ich die Daten aus der MySQL- Tabelle über eine übliche SELECT-FROM- Anweisung aus. Diese werden in einer Schleife von der Funktion fetchobject() in ein Objekt gepackt und anschließend ausgelesen.<br />Füge ich die Funktion utf8_encode beim auslesen der Daten ein, werden diese richtig dargestellt, nur wieso brauche ich diese Funktion wenn ich weiß das die Daten in der MySQL-Tabelle utf8- kodiert sind? Wenn etwas bereits utf8-Kodiert ist muss ich es doch nicht in utf8 kodieren um es korrekt darzustellen, oder???<br />Schicke ich das Formular ab sollten die Daten ja eigentlich durch die Angabe accept-charset="utf-8" utf8-kodiert an php ankommen.<br />Sende ich die Daten zur Datenbank, zeigt phpMyAdmin Umlaute nicht korrekt an.<br />Sende ich die Daten mit der Funktion utf8_decode an die Datenbank, zeigt phpMyAdmin Umlaute wieder korrekt an.<br />Jedoch gibt es dann wieder das Problem mit dem auslesen, wie oben beschrieben.<br />Ich habe mal gelesen das php für interne Berechnungen und derlei Dinge selber einen ISO-8859 Zeichensatz verwendet. Hat das Auswirkungen auf einen vermeintlichen utf8-kodierten String den man an php schickt und intern verarbeitet, wie etwa Sonderzeichen maskieren?<br />Wäre dem so, käme ich ja um die beiden Funktionen welche utf8 betreffen nicht herum.]]>
		</content>
	</entry>
	<entry>
		<title>Browser, MySQL, PHP und die Zeichensätze</title>
		<link rel="alternate" href="http://forum.webmatze.de/discussion/927/?Focus=6549#Comment_6549" type="application/xhtml+xml" hreflang="en"/>
		<id>http://forum.webmatze.de/discussion/927/?Focus=6549#Comment_6549</id>
		<published>2009-01-21T21:52:44+01:00</published>
		<updated>2010-09-09T02:02:16+02:00</updated>
		<author>
			<name>xaos</name>
			<uri>http://forum.webmatze.de/account/124/</uri>
		</author>
		<summary type="text" xml:lang="en">
			also bei mir geht sowas ;)
hast den den http header auch richtig gesetzt, also content-type: text/html; charset=utf-8 ?

sieht nämlich so aus, also würde der browser weiterhin iso benutzen udn ...
		</summary>
		<content type="html">
			<![CDATA[also bei mir geht sowas ;)<br />hast den den http header auch richtig gesetzt, also content-type: text/html; charset=utf-8 ?<br /><br />sieht nämlich so aus, also würde der browser weiterhin iso benutzen udn die daten auch so an dein script schicken]]>
		</content>
	</entry>
	<entry>
		<title>Browser, MySQL, PHP und die Zeichensätze</title>
		<link rel="alternate" href="http://forum.webmatze.de/discussion/927/?Focus=6550#Comment_6550" type="application/xhtml+xml" hreflang="en"/>
		<id>http://forum.webmatze.de/discussion/927/?Focus=6550#Comment_6550</id>
		<published>2009-01-25T00:39:09+01:00</published>
		<updated>2009-01-25T00:46:59+01:00</updated>
		<author>
			<name>iheliel</name>
			<uri>http://forum.webmatze.de/account/436/</uri>
		</author>
		<summary type="text" xml:lang="en">
			Der Browser befindet sich unter Ansicht-&gt;Zeichenkodierung zu 100% im utf8 Modus.
Diese Headersache habe ich auch ausprobiert, jedoch ergebnislos.

Verwenden Sie Funktionen wie utf8_decode oder ...
		</summary>
		<content type="html">
			<![CDATA[Der Browser befindet sich unter Ansicht->Zeichenkodierung zu 100% im utf8 Modus.<br />Diese Headersache habe ich auch ausprobiert, jedoch ergebnislos.<br /><br />Verwenden Sie Funktionen wie utf8_decode oder utf8_encode ?]]>
		</content>
	</entry>
	<entry>
		<title>Browser, MySQL, PHP und die Zeichensätze</title>
		<link rel="alternate" href="http://forum.webmatze.de/discussion/927/?Focus=6551#Comment_6551" type="application/xhtml+xml" hreflang="en"/>
		<id>http://forum.webmatze.de/discussion/927/?Focus=6551#Comment_6551</id>
		<published>2009-02-02T23:15:15+01:00</published>
		<updated>2010-09-09T02:02:16+02:00</updated>
		<author>
			<name>xaos</name>
			<uri>http://forum.webmatze.de/account/124/</uri>
		</author>
		<summary type="text" xml:lang="en">
			hm komisch.
welche mysql erweiterung verwendest du, pdo, mysql, mysqli, odbc ?

je nachdem wie die daten ankommen verwende ich die encode funktion, kommt halt drauf an was kommt.
php selbst ...
		</summary>
		<content type="html">
			<![CDATA[hm komisch.<br />welche mysql erweiterung verwendest du, pdo, mysql, mysqli, odbc ?<br /><br />je nachdem wie die daten ankommen verwende ich die encode funktion, kommt halt drauf an was kommt.<br />php selbst unterstützt im core noch kein utf8, erst ab einer späteren version von php6 geplant, gibt da einig probleme...jedoch als reine ausgabe stellt utf8 kein problem dar]]>
		</content>
	</entry>
	<entry>
		<title>Browser, MySQL, PHP und die Zeichensätze</title>
		<link rel="alternate" href="http://forum.webmatze.de/discussion/927/?Focus=6554#Comment_6554" type="application/xhtml+xml" hreflang="en"/>
		<id>http://forum.webmatze.de/discussion/927/?Focus=6554#Comment_6554</id>
		<published>2009-02-08T21:43:20+01:00</published>
		<updated>2010-09-09T02:02:16+02:00</updated>
		<author>
			<name>iheliel</name>
			<uri>http://forum.webmatze.de/account/436/</uri>
		</author>
		<summary type="text" xml:lang="en">
			ich habe mir zwei Klassen gebaut, die eine nutzt MySQL und die andere MySQLi

Derzeit übernehmen die normalen MySQL- Funktionen die Datenbankverwaltung.

Im PHP- Quellcode nutze ich NICHT die ...
		</summary>
		<content type="html">
			<![CDATA[ich habe mir zwei Klassen gebaut, die eine nutzt MySQL und die andere MySQLi<br /><br />Derzeit übernehmen die normalen MySQL- Funktionen die Datenbankverwaltung.<br /><br />Im PHP- Quellcode nutze ich NICHT die Funktionen utf8_de- und utf8_encode<br />Das tue ich nicht weil ich die Daten via HTML Formular als utf8 versende, zumindest nehme ich das an, da ja unter Ansicht->Zeichenkodierung UTF8 eingestellt ist.<br /><br />Würde ich die Funktionen verwenden, habe ich festgestellt das dies das bewirkt was ich auch haben will, nur versteh ich dann den zusammenhang nicht..]]>
		</content>
	</entry>
	<entry>
		<title>Browser, MySQL, PHP und die Zeichensätze</title>
		<link rel="alternate" href="http://forum.webmatze.de/discussion/927/?Focus=6555#Comment_6555" type="application/xhtml+xml" hreflang="en"/>
		<id>http://forum.webmatze.de/discussion/927/?Focus=6555#Comment_6555</id>
		<published>2009-02-08T21:54:22+01:00</published>
		<updated>2010-09-09T02:02:16+02:00</updated>
		<author>
			<name>xaos</name>
			<uri>http://forum.webmatze.de/account/124/</uri>
		</author>
		<summary type="text" xml:lang="en">
			guck dir dochmal die daten an, die von deinen formularen kommen. die sind wohl nicht utf-8 kodiert...
		</summary>
		<content type="html">
			<![CDATA[guck dir dochmal die daten an, die von deinen formularen kommen. die sind wohl nicht utf-8 kodiert...]]>
		</content>
	</entry>
	<entry>
		<title>Browser, MySQL, PHP und die Zeichensätze</title>
		<link rel="alternate" href="http://forum.webmatze.de/discussion/927/?Focus=6556#Comment_6556" type="application/xhtml+xml" hreflang="en"/>
		<id>http://forum.webmatze.de/discussion/927/?Focus=6556#Comment_6556</id>
		<published>2009-02-08T22:39:56+01:00</published>
		<updated>2009-02-08T22:40:15+01:00</updated>
		<author>
			<name>iheliel</name>
			<uri>http://forum.webmatze.de/account/436/</uri>
		</author>
		<summary type="text" xml:lang="en">
			stimmt! mit der Funktion mb_detect_encoding krieg ich bei meinen POST- Daten ASCII raus.
Das heißt ich verschicke die garnicht als utf-8-

Ehrlich gesagt verwirrt mich das jetzt doch etwas, so ...
		</summary>
		<content type="html">
			<![CDATA[stimmt! mit der Funktion mb_detect_encoding krieg ich bei meinen POST- Daten ASCII raus.<br />Das heißt ich verschicke die garnicht als utf-8-<br /><br />Ehrlich gesagt verwirrt mich das jetzt doch etwas, so habe ich doch im &lt;form>- Tag accept-charset="utf-8" gesetzt.<br />Ebenso ist auch die Seitenkodierung auf utf-8 gesetzt.<br /><br />Das alles hat wohl überhaupt keine Auswirkung auf die Formulardaten? Die kommen wohl immer nur als ASCII an?<br />Wenn dem so ist ist die Lösung ja einfach: Einfach die POST Daten utf8 kodieren.]]>
		</content>
	</entry>
	<entry>
		<title>Browser, MySQL, PHP und die Zeichensätze</title>
		<link rel="alternate" href="http://forum.webmatze.de/discussion/927/?Focus=6557#Comment_6557" type="application/xhtml+xml" hreflang="en"/>
		<id>http://forum.webmatze.de/discussion/927/?Focus=6557#Comment_6557</id>
		<published>2009-02-08T22:50:19+01:00</published>
		<updated>2009-02-08T22:51:54+01:00</updated>
		<author>
			<name>xaos</name>
			<uri>http://forum.webmatze.de/account/124/</uri>
		</author>
		<summary type="text" xml:lang="en">
			du verschickst die wohl schon als utf8, aber wie ich das in erinenrung habe wandelt php die automatisch nach iso89..-1 irgendwas um, da es intern mit arbeitet...
musst mal probieren in der ...
		</summary>
		<content type="html">
			<![CDATA[du verschickst die wohl schon als utf8, aber wie ich das in erinenrung habe wandelt php die automatisch nach iso89..-1 irgendwas um, da es intern mit arbeitet...<br />musst mal probieren in der php.ini<br />default_charset = utf-8<br />zu setzen, evtl hilft das. habs aber selbe rnochnicht probiert, evtl betriffts auch nur den default output header<br /><br /><br />btw. probier mal pdo aus, wenn du oop nutzt, ist echt praktisch das ding^^]]>
		</content>
	</entry>
	<entry>
		<title>Browser, MySQL, PHP und die Zeichensätze</title>
		<link rel="alternate" href="http://forum.webmatze.de/discussion/927/?Focus=6558#Comment_6558" type="application/xhtml+xml" hreflang="en"/>
		<id>http://forum.webmatze.de/discussion/927/?Focus=6558#Comment_6558</id>
		<published>2009-02-08T22:58:14+01:00</published>
		<updated>2009-02-08T23:04:13+01:00</updated>
		<author>
			<name>iheliel</name>
			<uri>http://forum.webmatze.de/account/436/</uri>
		</author>
		<summary type="text" xml:lang="en">
			So das funktioniert, hätte nicht gedacht das, dass so einfach ist, aber naja, wieder was dazu gelernt- das ist die Hauptsache. Ich Danke dir Xaos! :-)

jetzt gibts aber wieder ein kleines ...
		</summary>
		<content type="html">
			<![CDATA[So das funktioniert, hätte nicht gedacht das, dass so einfach ist, aber naja, wieder was dazu gelernt- das ist die Hauptsache. Ich Danke dir Xaos! :-)<br /><br />jetzt gibts aber wieder ein kleines Problemchen, nämlich beim auslesen der Daten.<br />Bemerkenswert ist jetzt folgendes:<br />Ist der Browser auf utf-8 gestellt zeigt er Daten wie ö,ä,ü mit einem � an. Die Daten sind utf-8 kodiert, das sag auch die Funktio mb_detect_encoding.<br />Stell ich den Browser nun aber auf ISO-8859-1, so zeigt er mir die utf-8 kodierten Daten korrekt an. Sowohl im Firefox als auch im Opera.<br /><br />Kodiere ich die utf-8 kodierten Daten mit utf8_encode nach utf8 so ist die Anzeige der Umlaute wieder korrekt.<br /><strong>Warum aber muss ich einen utf8 kodierten String nach utf8 kodieren damit er korrekt angezeigt wird?</strong> *confused*<br />Das ist doch doppelt gemoppelt, oder?<br /><br />Ob ich den String nun kodiere oder nicht, mb_detect_encoding sagt mir in beiden Fällen der String ist utf-8 kodiert.<br /><br /><br />default output header<br />Damit meinst du doch bestimmt die Angabe header('Content-Type: text/html; charset=UTF-8');	?<br />die ist gesetzt.]]>
		</content>
	</entry>
	<entry>
		<title>Browser, MySQL, PHP und die Zeichensätze</title>
		<link rel="alternate" href="http://forum.webmatze.de/discussion/927/?Focus=6559#Comment_6559" type="application/xhtml+xml" hreflang="en"/>
		<id>http://forum.webmatze.de/discussion/927/?Focus=6559#Comment_6559</id>
		<published>2009-02-08T23:11:18+01:00</published>
		<updated>2010-09-09T02:02:16+02:00</updated>
		<author>
			<name>xaos</name>
			<uri>http://forum.webmatze.de/account/124/</uri>
		</author>
		<summary type="text" xml:lang="en">
			das sind jez die sachen aus der datenbank richtig ?
mit phpMyAdmin sieht jetzt alles hübsch aus nur im browser nicht ?

mach mal folgenden query VOR dem select zuriff auf die db
mysql_query('set ...
		</summary>
		<content type="html">
			<![CDATA[das sind jez die sachen aus der datenbank richtig ?<br />mit phpMyAdmin sieht jetzt alles hübsch aus nur im browser nicht ?<br /><br />mach mal folgenden query VOR dem select zuriff auf die db<br />mysql_query('set character set utf8;');<br /><br />evtl gehts dann.. ... ...^^]]>
		</content>
	</entry>
	<entry>
		<title>Browser, MySQL, PHP und die Zeichensätze</title>
		<link rel="alternate" href="http://forum.webmatze.de/discussion/927/?Focus=6560#Comment_6560" type="application/xhtml+xml" hreflang="en"/>
		<id>http://forum.webmatze.de/discussion/927/?Focus=6560#Comment_6560</id>
		<published>2009-02-08T23:31:32+01:00</published>
		<updated>2009-02-08T23:34:05+01:00</updated>
		<author>
			<name>iheliel</name>
			<uri>http://forum.webmatze.de/account/436/</uri>
		</author>
		<summary type="text" xml:lang="en">
			Ach du Allerheiliger...

Jetzt gehts! Was macht diese Datenbankabfrage?
ich meine, meine Datenbank und Tabellen sind doch schon utf8 kodiert; wieso brauch ich da sowas?

LOL, diese eine ...
		</summary>
		<content type="html">
			<![CDATA[Ach du Allerheiliger...<br /><br />Jetzt gehts! Was macht diese Datenbankabfrage?<br />ich meine, meine Datenbank und Tabellen sind doch schon utf8 kodiert; wieso brauch ich da sowas?<br /><br />LOL, diese eine Anweisung löst all meine Probleme: Ein- wie Ausgabe!!!!<br /><br />DANKESCHÖN!!!!]]>
		</content>
	</entry>
	<entry>
		<title>Browser, MySQL, PHP und die Zeichensätze</title>
		<link rel="alternate" href="http://forum.webmatze.de/discussion/927/?Focus=6561#Comment_6561" type="application/xhtml+xml" hreflang="en"/>
		<id>http://forum.webmatze.de/discussion/927/?Focus=6561#Comment_6561</id>
		<published>2009-02-08T23:36:04+01:00</published>
		<updated>2010-09-09T02:02:16+02:00</updated>
		<author>
			<name>xaos</name>
			<uri>http://forum.webmatze.de/account/124/</uri>
		</author>
		<summary type="text" xml:lang="en">
			kein problem...
^^

solltest sicherheitshalbe reingaben trotzdem utf8 encodieren^^
der query sagt der datenbank eigtl nur, dass die dir alles als utf8 liefern soll. primär gehts eigtl dabei um ...
		</summary>
		<content type="html">
			<![CDATA[kein problem...<br />^^<br /><br />solltest sicherheitshalbe reingaben trotzdem utf8 encodieren^^<br />der query sagt der datenbank eigtl nur, dass die dir alles als utf8 liefern soll. primär gehts eigtl dabei um die connection, die dann als utf8 läuft<br />sind halt son paar tricks.<br /><br />hab vorher nicht dran gedacht, da ich bei mir die db komplett in utf8 laufen lasse per default..]]>
		</content>
	</entry>
	
		</feed>