C# und PHP Daten übergeben

Ein regelmäßiges Problem ist die Übergabe von Daten einer Anwendung z.B. an eine PHP-Anwendung. Im Beispiel wird ein verstecktes Formularfeld erzeugt, welches in einem Formular einbettet ist. Dieses Formular wird später von eienr PHP-Anwendung ausgelesen.

Die Herausforderung ist, dass wir einen mehrzeiligen Text übergeben, welcher auch Sonderzeichen enthalten kann. Daher konvertieren wir diesen zuerst definiert nach UTF-8 und kodieren diesen dann mit base64:

Konvertierung in C# nach UTF-8

//UTF-8 Kodierung eines versteckten Feldes
byte[] bytes = Encoding.UTF8.GetBytes("mein täxt");
string utf8Str = Convert.ToBase64String(bytes);
result += GenerateHiddenField("feldname", utf8Str,);


public static string GenerateHiddenField(string name, string value, bool newLine = true)
{
    string s = "<input type=\"hidden\" name=\"" + name + "\" value=\"" + value + "\">";
    if (newLine) s+= Environment.NewLine;
    return s;
}

Auslesen in PHP

$text = base64_decode($text);

Brauchen wir den Text als ISO-8859-1 kodierten Text, dann konvertieren wir den Text mit der Funktion "utf8_decode":

$text = utf8_decode($text); 

Werbung



comments powered by Disqus

Copyright Dunkel & Iwer GbR | Datenschutzerklärung | Impressum