Sep 29

Hallo PHPUG München,

Nach längerer Abwesenheit hier wieder ein kurzer Artikel von mir. Ich weiß nicht, ob nur ich bislang so unwissend war, aber vielleicht geht es euch ja wie mir...

Ich arbeite in meinen Projekten eigentlich durchgängig mit UTF-8 Kodierung. Fragt mich nicht warum, hab irgendwann damit angefangen (sicher mit gutem Grund), in der Zwischenzeit ist das Standard bei mir.

Letztens hatte ich aber ein eigentümliches Problem: wenn in einem String, den ich mit wordwrap fix umbreche (also auch innerhalb von strings, zusatzparameter "cut" auf true setze), an der Umbruchstelle ein Sonderzeichen stand (z.b. doppelte Anführungszeichen), dann wurde aus diesem einen Zeichen auf einmal 3 oder sogar 4. Es sieht so aus, als ob wordwrap nicht vorher bzw. nachher umbricht, sondern irgendwie IM Sonderzeichen und es zerreißt. Dass die inneren Quarks des Sonderzeichen-Atoms natürlich hässlich waren (und teilweise weitere Probleme verursachten) versteht sich von selbst.

Das Spannende dran: in meinen Tests konnte ich das jederzeit reproduzieren, aber nur, wenn ich das Zeichen selbst in den Quellcode geschrieben habe. Wenn ich das Zeichen über dessen ASCII-Code von PHP erzeugen lasse, war alles ok. Straaange...

Ich hab lange Zeit nichts darüber gefunden (vielleicht suche ich falsch?)und diese Funktion dann schließlich in JavaScript geschrieben, da die ganze Sache einfach zu unsicher war.

Letzte Woche hatte ich nun Gelegenheit, bei Mayflower mit zwei Experten zu sprechen und siehe da, die Lösung ist ganz einfach: wordwrap ist einfach nicht "utf-8 safe". Ihr hört richtig: man kann bzw. sollte keine utf-8 kodierten Strings mit wordwrap verarbeiten. Zusätzlich zu diesem Sonderzeichen-Bug erkennt wordwrap wohl auch die Länge des Strings nicht immer korrekt (utf-8 zeichen brauchen mehr Byte), es kann also auch hier zu Fehlern kommen.

Da es bislang noch keine utf-8 safe Variante gibt, bleibt euch wie mir nur übrig, entweder eine Alternative in PHP selbst zu schreiben (bzw. das Netz danach abzusuchen) oder das Thema z.b. JavaScript zu überlassen (was aber z.B. bei PDF-Generierung nicht funktioniert).

Ich hoffe, das hilft euch weiter!

Geschrieben von Michael *Byte* Haszprunar

Twitter Bookmark Auf Kriegsfuß mit UTF-8  at del.icio.us Facebook Google Bookmarks FriendFeed Digg Auf Kriegsfuß mit UTF-8 Technorati Auf Kriegsfuß mit UTF-8 Print this article! E-mail this story to a friend! Identi.ca

Apr 3

Wie jeder Leser momentan sehen kann, befinden sich 2 Kalender auf dieser Webseite. (Explizit für jeden:) Ein Kalender links oben unter "Konferenzen & Events" offen angezeigt. Der zweite Kalender versteckt sich im Mittelblock unter dem Navigationspunkt "Kalender". Was soll das?

"Events-Kalender" vollständig lesen

Geschrieben von Gabriele Mohl

Tags für diesen Artikel: , ,
Twitter Bookmark Events-Kalender  at del.icio.us Facebook Google Bookmarks FriendFeed Digg Events-Kalender Technorati Events-Kalender Print this article! E-mail this story to a friend! Identi.ca

Jul 17
mysql_real_escape_string() ist eine nützliche Funktion und man nutzt die ganz intuitiv und ohne gross darüber nachzudenken in allen möglichen Skripten. Eigentlich ist die Funktion da um den Code vor Injections zu schützen (dafür aber nicht nur auf mysql_real_escape_string verlassen bitte). Jedenfalls sollte sie dass sein, aber als ich vorhin den grossen Teil meines Codes auf unsere MSSQL DB umgestellt habe, ist mir die Funktion um die Ohren geflogen.

Warum?

Weil ich keine einzige mysql Verbindung mehr geöffnet hatte und mysql_real_escape_string eine geöffnete Verbindung zum Server braucht.

So und ihr macht jetzt bitte nicht den gleichen Fehler, ok?

Geschrieben von Nils Hitze

Tags für diesen Artikel: , ,
Twitter Bookmark Tip: mysql_real_escape_string  at del.icio.us Facebook Google Bookmarks FriendFeed Digg Tip: mysql_real_escape_string Technorati Tip: mysql_real_escape_string Print this article! E-mail this story to a friend! Identi.ca

Apr 23
Joel on Software schreibt über Eisberge und das solltet ihr wirklich lesen. Es geht um Manager, Entscheider und warum Programmierer und Manager nicht gut miteinander reden können.

Lieblingszitat:

You know how an iceberg is 90% underwater? Well, most software is like that too -- there's a pretty user interface that takes about 10% of the work, and then 90% of the programming work is under the covers. And if you take into account the fact that about half of your time is spent fixing bugs, the UI only takes 5% of the work. And if you limit yourself to the visual part of the UI, the pixels, what you would see in PowerPoint, now we're talking less than 1%.

That's not the secret. The secret is that People Who Aren't Programmers Do Not Understand This.

Auszug aus The Iceberg Secret, Revealed


Geschrieben von Nils Hitze

Tags für diesen Artikel: , ,
Twitter Bookmark Eisberg voraus  at del.icio.us Facebook Google Bookmarks FriendFeed Digg Eisberg voraus Technorati Eisberg voraus Print this article! E-mail this story to a friend! Identi.ca

Apr 22
Am 09.04. um 15:12 mit 3210g und 50cm kam Joses Tochter Miranda auf die Welt. Wir gratulieren ganz herzlich, mögen ihr noch viele andere PHP UG Kinder folgen.

Geschrieben von Nils Hitze

Tags für diesen Artikel: , , , ,
Twitter Bookmark PHP UG Babyboom?  at del.icio.us Facebook Google Bookmarks FriendFeed Digg PHP UG Babyboom? Technorati PHP UG Babyboom? Print this article! E-mail this story to a friend! Identi.ca

(Seite 1 von 2, insgesamt 8 Einträge)