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.

Ein Kommentar 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!

Schreibe eine Antwort zu Simon A. Frank Antwort abbrechen

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