3 Stimmen

Extrahieren Sie chinesischen Text aus der Abfragezeichenfolge

Ich muss chinesische Zeichen aus der Abfragezeichenfolge in einer ASP.NET-Webanwendung extrahieren. Als ich es versuchte, erhielt ich anstelle des tatsächlichen Textes "???". Ich weiß, dass ich es mit UTF-8 decodieren muss, aber es funktioniert nicht. Ich habe verwendet:

String text = System.Web.HttpUtility.UrlDecode(Request.QueryString["text"], System.Text.Encoding.UTF8);

aber ich bekomme "???" von der Operation zurück.

Bitte helfen Sie.

6voto

Aristos Punkte 64742

Es gibt zwei Fälle.

1. Fall, in dem Ihre URL tatsächlich auf Chinesisch ist, wird die einzige Funktion, die sie erhält, über Request.RawUrl abgerufen (und nicht über Request.QueryString["text"]). Aus Request.RawUrl müssen Sie Ihre chinesischen Text manuell aus text= herausfiltern.

2. Fall, wenn Sie zuerst Ihre URL-Zeichenfolge codieren müssen, bevor Sie sie senden. In diesem Fall verwende ich den folgenden Code:

String text = Server.UrlDecode(Request.QueryString["text"]);

Ich hoffe, das hilft.

Hinweis: Wenn Sie den Test mit Google Chrome durchführen, wird das, was Sie in der Adressleiste eingeben, vom Browser automatisch codiert/decodiert und Sie sehen nicht, was Sie tatsächlich senden. Versuchen Sie es mit dem IE, um Ihren Test durchzuführen.

0 Stimmen

Ich kann Fall 2 nicht verwenden, da die Anfrage vom Client-Browser die erste Anfrage ist. Also setze ich die Werte nicht im Abfragestring. Ich werde es mit Fall 1 versuchen.

0 Stimmen

@Ein Junkie Denke daran, dass du ein Handbuch benötigst, um den Text herauszubekommen... suche nach ?-Symbol, dann nach TEXT= usw...

0 Stimmen

Hallo, ich sehe auch ??? in der Raw-URL. "ClienteExterno.aspx?text=???&destinations=6981"

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