2 Stimmen

C# ASP.NET Fremde Zeichen(ü) Ampersand Verwirrung

Ich entwickle eine einfache Website und muss türkische Zeichen (ç, ü) in Benutzernamen und anderen Feldern verwenden. Wenn ich die folgende Anweisung ausführe,

Response.Redirect("View2.aspx?ApplicantName=" + applicantname);

Kann es den Namen des Antragstellers nicht erhalten, wenn der Antragstellername "ü" enthält. Ich vermute, dass es daran liegt, dass "ü" im Vergleich eine Ampersand (&) hat, was ü ist.

Was muss ich also tun, um das zu beheben?

2voto

Brian Webster Punkte 28576

Alles, was du brauchst, ist die richtige URLEncoding

Response.Redirect("View2.aspx?ApplicantName=" + Server.UrlEncode(applicantname));

Oder, wenn du Unicode verwendest:

Response.Redirect("View2.aspx?ApplicantName=" + HttpUtility.UrlEncode(applicantname, System.Text.Encoding.GetEncoding("ISO-8859-1")));

Vergiss nicht, am anderen Ende URLDecode durchzuführen.

Referenzen

0 Stimmen

Für die erste Lösung gab es den Fehler "Ein potenziell gefährlicher Request.QueryString-Wert wurde vom Client erkannt". Und wo füge ich den zweiten hinzu?

0 Stimmen

Ich habe keine Erfahrung mit Unicode, aber basierend auf Ihrer Eingabe würde ich sagen, dass Sie wahrscheinlich die HttpUtility-Methode verwenden und das Unicode-Kodierungsformat angeben müssen.

0 Stimmen

Nun, ich bin nicht sicher, wie das geht. Ich habe zu web.config hinzugefügt, aber abgesehen davon weiß ich nicht, wo ich Ihre Lösungen hinzufügen soll.

2voto

zer0w1dthspace Punkte 1042

Fügen Sie diese Zeile (oder ändern Sie sie, wenn sie existiert) in den Abschnitt system.web Ihrer web.config-Datei hinzu.

0 Stimmen

Das genaue liegt in meiner web.config, aber es löst das Problem nicht.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X