OAuth Probleme mit Umlauten: Lösungen für PHP, Perl, C#, VB

Nahezu alle aktuellen Social Networks nutzen inzwischen OAuth zur Authentifizierung. In diversen Blogposts habe ich dies schon genauer für Twitter, Facebook & Co beschrieben. Ein bekanntes Problem ist die richtige Darstellung der Leer- und Sonderzeichen sowie der deutschen Umlaute. Hier eine Zusammenstellung der Lösungen (Details können in den einzelnen Beiträgen nachgelesen werden):

PHP: rawurlencode+utf8_encode ist die Lösung:

$params=rawurlencode(utf8_encode("Hallöchen Simon wie geht's?"));

C#: Hier sind es einige Zeilen, die Idee ist von Andre Arnott, Details siehe hier

string[] UriRfc3986CharsToEscape =
  new[] { "!", "*", "'", "(", ")" };
 StringBuilder escaped =
  new StringBuilder(Uri.EscapeDataString(
      txtTweet.Text.ToString()));

 for (int i = 0; i < UriRfc3986CharsToEscape.Length; i++)
 {
   escaped.Replace(UriRfc3986CharsToEscape[i],
    Uri.HexEscape(UriRfc3986CharsToEscape[i][0]));
 }
 Parameters = "&text=" + escaped.ToString();

VB/Visual Basic: wie in C# (vgl. oben)

Dim UriRfc3986CharsToEscape() As String = _
  {"!", "*", "'", "(", ")"}
Dim escaped As New _
  StringBuilder(Uri.EscapeDataString(txtTweet.Text.ToString()))
For i As Integer = 0 To UriRfc3986CharsToEscape.Length - 1
  escaped.Replace(UriRfc3986CharsToEscape(i), _
   Uri.HexEscape(UriRfc3986CharsToEscape(i)(0)))
Next i
Parameters = "&text=" & escaped.ToString()

Perl: Hier ist ein decode_utf8 oder decode ausreichend, z. B. bei Net::OAuth

extra_params => {
       text => decode_utf8($nachricht)
       #Alternative (je nach Quelle besser)
       #text => decode("iso-8859-1",$nachricht);
}

P.S.

Probleme? Fragen? Anregungen? Ich helfe jederzeit und gerne  – einfach einen Kommentar oder Mail schreiben, die Antwort kommt schnellstmöglich. Unternehmen, die Unterstützung, Beratung oder Schulung bei der API- oder Webprogrammierung, der Social-Media-Entwicklung oder dem Social-Media-Management benötigen finden zudem entsprechende Angebote meiner Firma auf der Website www.Frank-IT-Beratung.de

Dieser Beitrag wurde unter C#, Perl, PHP, Programmierung, Social Networks, Twitter, Visual Basic abgelegt und mit , , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Eine Antwort zu OAuth Probleme mit Umlauten: Lösungen für PHP, Perl, C#, VB

  1. Simon A. Frank sagt:

    Vielen Dank an den Hinweis von Christian – in dem VB-Codebeispiel war ein Tippfehler, den ich nun behoben habe!

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.