PHP-Entwicklung
Posts 1-10 of 11
- Back
- Next
-
Denis Beganovic Premium MemberThe company name is only visible to registered members.Umstellung von Zeichenkodierung (php / mysql)
Hallo an alle Experten hier.
Kennt jemand eine gute Quelle mit Infos zu dem Thema " Umstellung von Zeichenkodierung in php und mysql?"
Es soll eine flexible Anwendung geschaffen werden, die automatisiert auf Usereingaben reagiert und in der Lage ist die entsprechenden Zeichensätze (Sprachen) korrekt darzustellen.
So viel als Hintergrundinfo.
Vielen Dank im Voraus
This post was modified on 03 Mar 2008 at 01:37 pm.- 03 Mar 2008, 1:16 pm
-
Bogdan GüntherThe company name is only visible to registered members.Re: Umstellung von Zeichenkodierung (php / mysql)
Hier würde ich empfehlen von Anfang an auf UTF-8 zu setzen. Damit lassen praktisch alle Sprachen und Sonderzeichen abbilden.
- 03 Mar 2008, 2:32 pm
-
Bastian Fenske(not a XING member)Re^2: Umstellung von Zeichenkodierung (php / mysql)
…zumindest würde ich intern alles in UTF-8 abbilden (falls es wirklich eine sinnige Anforderung ist, die Kodierung „nach vorne hin“ variabel zu halten).
In dem Fall musst du eben nur die entsprechenden Content-Type-Header setzen (HTML-Meta-Tag und Angabe in der XML-Deklaration alleine reichen nicht) und die ein- und ausgehenden Werte je mit mb_convert_encoding() umwandeln.
mb_convert_encoding() kann anscheinend auch automatisch eingehende Zeichensätze erkennen. Frag mich nicht, wie das gehen soll – kann ja eigentlich nur anhand der Belegung der einzelnen Werte erfasst werden und es würde mich wundern, wenn es da nicht einiges an Interpretationsspielraum gäbe (sprich potentielle Fehlinterpretationen).
Einen Mischmasch im System/der Datenbank würde ich versuchen zu vermeiden, denn da hast du dann eine Menge Mehraufwand und potentielle Fehlerquellen z.B. an den Schnittstellen zwischen PHP und MySQL, PHP und sendmail, PHP und Client, aber auch mit den String-Funktionen, wie strlen(), die ja nicht multibyte-tauglich sind.
Am besten natürlich, wie von meinem Vorredner erwähnt, gleich alles auf UTF-8 umstellen, andernfalls wird der Benutzer vermutlich von Hand eingeben müssen, welcher Zeichensatz verwendet wurde.
Material zum Thema weiß ich allerdings nicht.
Basti
This post was modified on 03 Mar 2008 at 02:54 pm.- 03 Mar 2008, 2:49 pm
-
Roland Urban Premium MemberThe company name is only visible to registered members.Re: Umstellung von Zeichenkodierung (php / mysql)
Um UTF-8 Zeichenkodierung kommem Sie dann wohl nicht herum. Pakete, die sie für die Umsetzung benötigen sind die ICONV Library, die MB_String Funktionen und es gibt ein PHP-Utf 8 Projekt
http://sourceforge.net/projects/phputf8
Auch die PHP Scripte müssen in UTF-8 kodiert werden und für PERL Regular Expressions müssen sie UTF8 als Switch angeben. Insbesondere wenn externe Packete von z.B. PEAR eingebunden werden gibt es immer wieder Probleme mit UTF-8 Strings.
Wenn die Datenbank sehr groß wird, sollten Sie nicht ausschließlich UTF-8 Collations verwenden, da diese für ein Zeichen 3 Byte reservieren und dann evtl. auch die Indexe größer werden. Hier sparen ASCII Collations Platz.
Die Browser senden HTML Entities für Sonderzeichen, wenn diese nicht im angeforderten Zeichensatz enthalten sind. Insbesondere bei skandinavischen und osteruopäischen Sprachen. Diese Enttites müssen vor der Verarbeitung nach UTF-8 konvertiert werden. AJAX Request senden z.B. codierte UNICODE Zeichensequenzen.
Wenn die Datenbank schon eine Mischform von Latin1, UTF-8 und HTML Entities enthält, müssen diese seperat konvertiert werden.
Insgesamt eine ansprechende Aufgabe.
- 03 Mar 2008, 3:22 pm
-
Denis Beganovic Premium MemberThe company name is only visible to registered members.Re^2: Umstellung von Zeichenkodierung (php / mysql)
Vielen Dank an Alle, für die schnelle Einschätzung dieser Datenbank / Zeichenkodierungs Proplematik.
Wir müssen jetzt mal schauen, wie scalierbar unser System sein soll und wie die neuen Erkenntnisse, mit der bereits bestehenden Architektur in Einklang zu bringen sind - letzteres ist natürlich nicht immer ganz einfach ;)
Gut möglich das wir hier nochmals Support benötigen oder etwa für einen kurzen Know How Transfer einen Auftrag erteilen.
Bis dahin alles gute
Vg aus Berlin
Denis B.
- 06 Mar 2008, 12:57 pm
-
Post visible to registered members
-
Post visible to registered members
-
Post visible to registered members
-
Post visible to registered members
-
Post visible to registered members
- Back
- Next
