Umlaute PHP Kontaktformular

Ich hatte bis jetzt noch nie Probleme mit Umlauten in Kontaktformularen. Bis jetzt: Bei einem Formular kam „test“ in der Nachricht so an: „tüst“. Hab 2 Stunden lang mit der UTF8 Codierung rumprobiert und nichts hatten geholfen. Am Ende war die Lösung recht einfach.

Codezeile vorher:

mail($admin, $subject, $message, $header, „From: $email“);

Codezeile richtig:

mail($admin, $subject= utf8_decode($subject), $message= utf8_decode($message), $header, „From: $email“);

Da das Problem das erste Mal aufgetreten ist, schiebe ich die Sache mal auf einen serverseitigen Einstellungsfehler, der so behoben werden kann.

HTC HD2 – es geht munter weiter

Wem diese Fehlermeldung kryptisch und nichtssagend vorkommt, dem würde ich ungesehen zustimmen. Die Fehlermeldung hat für mich leider gar keine Aussagekraft:

Exception
bei Microsoft.AGL.Common.MISC.HandleAr()
bei System.Windows.Forms.Control._SetBoundsCore()
bei System.Windows.Forms.Control.set_Location()
bei XXX.Programme.XXX.frmAnmeldung.InitializeComponent()
bei XXX.Programme.XXX.frmAnmeldung..ctor()
bei XXX.Programme.XXX.xxxMain.Main()

Das Problem ist auch beim Debuggen nicht wirklich auf den ersten Blick zu finden. Der Übeltäter jedoch ist ein kleines, normales Windows Steuerelement aus dem .NET Compact Framework, dass HTC mit dem HD2 nicht mehr unterstützt:

image

Ein ganz normaler Monatskalender, der bislang auf jedem System einwandfrei funktioniert hat. Nur auf dem HD2 gibt es ein gewaltiges Problem. Programmtechnisch finde ich das eher suboptimal, da das Austauschelement im Moment nur der normale Datetimepicker sein kann. Und das der sich nicht so gut in das Anwendungsbild fügt, wie die obere Abbildung kann man verstehen:

image

 

Also: im großen und ganzen wieder viel Ärger um nichts, mobile Anwendungsentwicklung auf Windows Mobile Basis bleibt immer spannend. Ich freu mich schon auf das neue Windows Phone 😉

 

UPDATE:

HTC hat einen kleinen Registrykey, welcher auf ein HTC-eigenes Steuerelement verweist eingebaut. Wenn man den umbenennt, dann gibt’s keine Probleme mehr mit dem regulären Monatskalender.

Zu finden ist der Key auf dem mobilen Gerät unter: [HKEY_LOCAL_MACHINE\System\GWE\Commctrl\CustomDateT imeCtrl] = \windows\htcDTP.dll

the type initializer for ’system.data.sqlclient.sqlconnection‘ threw an exception

Heute ist mir zum ersten Mal die oben genannte Fehlermeldung untergekommen.  Es begann mit dem Start unserer Anwendung wo bereits die Fehlermeldung auftauchte, dass die Datenbankkonfiguration aus der app.config nicht ausgelesen werden konnte:

System.Configuration.ConfigurationErrorsException: Configuration system failed to initialize.

Das zog sich prima durch, nachdem man eine neue Datenbankverbindung auswählen musste, konnte man die Konfiguration nicht speichern. Wenn man sich dann an dem SQL-Server 2005 Express anmelden wollte, kam die Meldung:

the type initializer for ’system.data.sqlclient.sqlconnection‘ threw an exception.

 

In den Details der Fehlermeldung ging es um ungültige Zeichen in der machine.config Datei des .NET Frameworks 2.0, die das Framework daran hinderten, sich korrekt zu initialisieren :

Configuration system failed to initialize. Die machine.config (zu finden unter: “C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Config\machine.config”) sah dann auch entsprechend aus:

 

Ausschnitt machine_config

 

Nachdem ich die ungültigen Zeichen aus der Datei entfernt hatte, lief die Anwendung sofort wieder reibungslos.

Bleibt nur noch die Frage, warum die Datei so “verhunzt” wurde. Darauf kann ich leider bislang keine Antwort geben.

Mails direkt auf einem POP3 Server löschen

Da das Herunterladen von Mails bei einem meiner Mailaccounts seit einiger Zeit nicht ganz korrekt funkioniert, habe ich nach einem einfachen und kleinen Tool gesucht, mit dem ich einen POP3 Server einsehen und Mails direkt löschen kann. Die Suche war nicht so leicht, aber hier bin ich fündig geworden: http://www.nairolf.net/mbn-utl-pop3-cleaner.asp#04

Der POP3 Cleaner ist ein super einfaches und freies Tool mit dem man die Mails einsehen und bei Bedarf löschen kann. Es ist zwar schon von 1999, aber deshalb muss es ja nicht schlecht sein! Mittels Telnet lassen sich Mails auch direkt löschen, allerdings ist das ein wenig umständlicher wenn man vorher zumindest den Betreff sehen will. Eine Anleitung dazu gibt es hier.

Wer sowas selber bauen möchte, findet die Anleitung “How to POP3 in C#” hier.

Verwendung von log4net

Manchmal ist es halt so, dass ein Progamm nicht so ganz funktioniert, wie man es gern hätte oder man wüsste gerne, was ein Programm gerade so macht. Um nicht selber Mechanismen für das Schreiben in Logdateien oder das EventLog zu erstellen kann man ein bestehendes Loggingframework verwenden. Eine nettes Loggingframework ist log4net. Es ist relativ simpel ins eigenen Programm eingebunden und lässt Ausgaben in verschiedene Ziele zu, wie z.B. Eventlog, Datenbank, Textdatei, E-Mail per SMTP oder über .Net Remoting.

Nachfolgend beschreibe ich kurz und einfach, was zu tun ist um die eigene Anwendung etwas kommunikationsfreudiger zu machen. Weitere Details findet ihr in den Links am Ende des Posts.

Mein Programm sieht so aus:

   1:  using System;
   2:  

Tagebuch eines Entwicklers

Neno Loje ist der MSDN-Experte für Windows Vista. Von Mitte Februar bis in den April hinein veröffentlicht er hier werktäglich neu seine Tagebuch-Notizen, in denen er die für Entwickler relevanten Dinge von Windows Vista vorstellt. Dabei geht es sowohl um Kompatibilität alter Applikationen auf dem neuen System, als auch um das Kennenlernen der neuen Möglichkeiten, die man nutzen kann – hin und wieder angereichert durch ein paar Tipps & Tricks oder Hinweise zu Dingen, die vielleicht nicht auf den ersten Blick selbsterklärend sind.

 

Source: Tagebuch eines Entwicklers (Microsoft)

 

_________________________________________________________________

Ich persönlich finde es sehr interessant und werde die Sache weiter verfolgen!

Visual Studio 2008 Express Editions in deutsch

Die kostenlosen Visual Studio Express Editions sind leistungsfähige, einfach zu verwendende und leicht erlernbare Tools für Einsteiger und Hobbyprogrammierer und alle, die eine schlanke, schnelle Entwicklungsumgebung für die Web- oder Windows-Programmierung suchen.

Weitere Infos und Downloads in deutsch: http://www.microsoft.com/germany/express/

Visual Studio 2008

Im Februar wird der offizielle Launch von Visual Studio 2008, Windows Server 2008 und SQL Server 2008 stattfinden. Für MSDN Abonnenten wird Visual Studio jedoch bereits ab November verfügbar sein:

Das Warten hat ein Ende, noch im November werden MSDN-Abonnenten die finale Version von Visual Studio 2008 per Download erhalten! Dies hat S. Somasegar, Corporate Vice President of the Developer Division, in seiner Keynote auf der TechEd in Barcelona verkündet. Der offizielle Launch findet dann gemeinsam mit Windows Server 2008 und dem SQL Server 2008 im Februar statt. Parallel zum Launch findet ebenfalls die SharePoint-Konferenz statt.

Quelle: blogs.msdn.com/sebweber

Auf der Schweizer Microsoft Seite des MSDN Techtalk gibt es bereits die Folien zu Visual Studio 2008 und .Net Framework 3.5 zum download, im deutschen Archiv werden die Unterlagen sicher bald folgen.

DMS Expo in Köln

Vom 25.09. bis zum 27.09. war in Kön die DMS Expo. Ich war zusammen mit und für die d.velop AG auf dem Partnerstand bei Microsoft.

Grund für meine Tätigkeit auf der DMS waren die von amexus mitentwickelten ECM Services für Sharepoint von d.velop (weitere Infos zu den ECM Services gibt auf der Sharepoint Service Center Seite von amexus und auf der Homepage von d.velop).

Die ECM Services sind auch der Grund, warum es von meiner Seite her auch sehr ruhig im Blog gewesen ist.

Die Größe der DMS Expo hat mich sehr überrascht, da ich zuvor auf der Cebit war und eigentlich keine Vorstellung davon hatte wie groß die DMS ist. Sie findet in nur einer Halle der Kölnmesse statt und ist entsprechend klein. Dabei muss man jedoch bedenken, dass es sich nur im das Dokumenten Management dreht und nicht um alle Bereich der EDV Branche.

Es waren 3 sehr interessante Tage und jetzt bin ich auch endlich mal auf der DMS gewesen 🙂

SharepointDream

Bei einem Marktbegleiter (und das muss man ihm lassen) gab es super Cocktails! Leider hatte ich keine Gelegenheit den Sharepoint Dream zu testen 🙁

Arbeiten mit Partial Classes

Das Feature „Partial Classes“ ist seit dem .Net Framework 2.0 in VB.Net und C# enthalten (weitere Programmiersprachen siehe Wikipedia).

Partial Classes machen es möglich, den Code einer Klasse in verschiedene Klassendateien zu schreiben. Visul Studio 2005 nutzt dieses Feature um den „Vom Windows Form-Designer generierter Code“ vom eigenen Programmcode zu trennen.

Man selbst kann es natürlich auch nutzen um den Code übersichtlicher zu halten.

Wenn man z.B. ein neues Formular „frmMain.cs“ erstellt, werden automatisch 2 Dateien erstellt. Die eine ist die eigentliche frmMain.cs in der man seinen Code erstellt, die andere ist die frmMain.Designer.cs, die vom der frmMain abhängt und den vom Windows Form-Designer generierten Code enthält.

Möchte man selber eine Partial Class erstellen fügt man dem Projekt eine neue Klasse hinzu (löscht ggf. die using Verweise) und

SQLite in .Net verwenden

SQLite1 ist ein einfaches und kleines und kostenloses Datenbanksystem. Weitere Infos dazu gibt es in der Wikipedia. Der SQLServer Express ist zwar auch kostenlos, aber für viele einfache Anwendungen oversized. Zur einfachen Anwendung in Visual Studio gibt es einen ADO.Net Provider2. Die Administration der SQLite Datenbank lässt sich sehr gut mit dem SQLite Administrator3 bewerkstelligen. Eine erste Anwendung ist schnell geschrieben. Zunächst muss man den SQLite Provider installieren. Danach kann man im Projektexplorer den Verweis zu System.Data.SQLite hinzufügen und

Code formatieren in Visual Studio

Unformatierten Code kann man in Visual Studio schnell formatieren. Ich habe vorhin mit einem Tool eine XML Datei generiert, diese XML Datei besteht leider nur aus einer Zeile, die dafür aber schön lang und unübersichtlich ist:

In Visual Studio gibt es die Option „Dokument formatieren“ (Shortcut: Strg + E,D) …

… und im Handumdrehen habe ich eine wunderschön geformte XML Datei:

Das macht die Bearbeitung einer solchen Datei schon ein wenig einfacher 🙂

UniveRSS – a 3D Vista RSS reader

UniveRSS ist ein 3D Feed Reader für Windows Vista auf Basis der Windows Presentation Foundation. Interessantes Konzept und wenn man sich einmal an die Tastaturbedienung gewöhnt hat geht es ganz gut. Übersichtlich ist das ganze aber auch nur bei nicht allzuvielen Feeds. Da UniveRSS derzeit erst in der Version 0.8.0.0 kann man allerdings noch einiges erwarten. Hier einige Screenshots:

UniveRSS1

Visual-Studio-Update für die Vista-Entwicklung

Gestern habe ich noch verzweifelt danach gesucht, die englische Beta des Updates ließ sich leider nicht auf meinem System installieren. Heute kommt das Visual Studio Update für Windows Vista endlich raus:

Für die Entwicklungsumgebung Visual Studio 2005 steht nun ein Update bereit, das neue Funktionen im Hinblick auf Windows Vista mitbringt. Programmierer sollen damit Anwendungen schreiben können, die ohne Probleme unter dem neuen Betriebssystem laufen. Auch die aktuelle Vorschauversion auf die nächste Visual-Studio-Generation steht zum Download bereit.

Source: golem.de

Downloadlink: Visual Studio Update für SP1

Nach der Installation kommt dann auch die hässliche Meldung beim Start von Visual Studio nicht mehr.

Der neue Yahoo! Messenger für Windows Vista

Der neue Yahoo Messenger basiert auf der Windows Presentation Foundation und sieht ziemlich cool aus, wie ich finde:

Yahoo!’s nächster Messenger wurde gerade auf der CES in Las Vegas vorgestellt und … wow. Vollständig neu entwickelt auf dem .NET Framework und basierend auf der WPF (Windows Presentation Foundation), sieht er echt sehr, sehr gut aus. Er kommt zusätzlich mit einem Sidebar Gadget daher.

Source: Oliver’s life on the web : Der neue Yahoo! Messenger für Windows Vista