2010-06-23 90 views
2

我需要從ASP.NET Web應用程序的查詢字符串中提取中文字符。 當我嘗試它時,我得到「????」而不是實際的文字。我知道我需要用UTF-8解碼它,但它不起作用。我用過:從查詢字符串中提取中文文本

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

但我得到「???」從手術回來。

請幫忙。

回答

4

有兩種情況。

1種情況的您的網址是中國真實的,那得到的唯一功能,它是Request.RawUrl(而不是的Request.QueryString [「文本」])從Request.RawUrl你需要手動從text =ελληνικασανκινεζικα獲取您的中文文本。

第二種情況您首先在發送之前對您的URL字符串進行編碼。在這種情況下,我使用的代碼是

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

希望得到這個幫助。

注意:如果您嘗試使用Google Chrome進行測試,那麼您在url chrome上輸入的內容是由瀏覽器自動編碼/解碼,並且您不會看到您發送的實際內容。嘗試使用ie進行測試。

+0

我不能使用案例2,因爲來自客戶端瀏覽器的請求是第一個請求。所以我沒有設置查詢字符串中的值。 我會嘗試案例1. – 2010-06-23 13:32:29

+0

@A Junkie請記住,您需要手動才能獲取文本...搜索?符號,然後爲TEXT =等... – Aristos 2010-06-23 13:40:28

+0

嗨,我看到?也在原始網址中。 「ClienteExterno.aspx?text = ???&destinations = 6981」 – 2010-06-23 13:47:30